Developers
Surfboard Payments developer resources
Everything needed to integrate Surfboard Payments, at predictable URLs, with nothing gated. Demo credentials are the only step that needs a person.
Quickstart
Six steps from nothing to a payment you have watched reach a terminal state.
-
Hand the URL to your agent
Any agent that can fetch a URL and run commands. It receives the whole brief, including the safety rules and the conventions that break first integrations.
fetch https://surfpay.ai to add payments -
Or install the skills yourself
Ten skills, a router plus one per integration flow, each bundling the developer guides it cites.
npx -y skills add surfboardpayments/skills --skill '*' --yes -
Connect the documentation
Hosted MCP over Streamable HTTP: 157 endpoints, 44 guides, and the webhook catalog, with nothing to install and no credentials.
https://www.surfboardpayments.com/.well-known/mcp -
Get Demo credentials
Yours to do, once. Issued immediately on signup, no sales call and no approval queue. Demo uses test cards and cannot move real money.
https://developers.surfboardpayments.com/console/api-keys -
Build against the typed spec
The payments API as OpenAPI 3.1: every documented operation with an operationId, typed parameters, and response schemas, ready to generate a client from.
https://www.surfboardpayments.com/openapi/carbon.json -
Prove it in Demo
Create an order, initiate a payment, poll until it reaches a terminal state. Do not call it done before you have seen a real response.
status: completed
Every resource
All of it public, unauthenticated, and open to cross-origin requests.
Instructions for agents
- Integration brief
The whole procedure, as llms.txt
/llms.txt - When to use this
Routing guidance, and how to call us
/agent-instructions.md - The brief as markdown
Also /AGENTS.md, /CLAUDE.md, /skill.md
/payload.md - The brief as JSON
Fields rather than one blob
/api/payload.json
Tools an agent can call
- MCP endpoint, this domain
Streamable HTTP. The brief and the skills pack
/.well-known/mcp - MCP endpoint, documentation
157 endpoints, 44 guides, webhook catalog
https://www.surfboardpayments.com/.well-known/mcp - MCP on npm, for stdio clients
npx -y @surfboardpayments/surf-mcp
https://www.npmjs.com/package/@surfboardpayments/surf-mcp - Search the skills and guides
GET, no key
/api/search?q=refund
Specifications
- This domain, OpenAPI 3.1
YAML at /openapi.yaml
/openapi.json - The payments API, OpenAPI 3.1
The typed contract to build against
https://www.surfboardpayments.com/openapi/carbon.json - Endpoint index
Every endpoint here, without an OpenAPI parser
/api/index.json - API catalog, RFC 9727
Linkset for this domain
/.well-known/api-catalog
The skills pack
- Skills index, SHA-256 per skill
agentskills.io v0.2.0
/.well-known/agent-skills/index.json - Skills as JSON
With the guides each one bundles
/api/skills.json - Bundled guides
Markdown at /guides/<slug>.md
/api/guides.json - Source repository
What npx skills add installs from
https://github.com/surfboardpayments/skills
Reference and accounts
- Developer portal
API keys, console, prose reference
https://developers.surfboardpayments.com - Sign up for Demo credentials
Issued immediately
https://developers.surfboardpayments.com/sign-up - API reference and webhooks
Every entry links to fetchable markdown
https://ai.developers.surfboardpayments.com/llms.txt - All 44 guides, full text
The corpus the skills are generated from
https://www.surfboardpayments.com/api/ai/guides.json
Authentication and the sandbox
Nothing on this domain needs a key
Every endpoint listed above is public. There is no signup, no rate limit, and CORS is open, so a browser-based agent can call them directly.
The payments API does
Server-side calls to the Carbon API authenticate with three headers: API-KEY, API-SECRET, and MERCHANT-ID. Browser
and mobile code uses a short-lived client auth token instead, which cannot perform
administrative operations. The base URL is issued per account and differs between
Demo and Live; read it from configuration rather than hard-coding a host you
inferred from an example.
Demo is the sandbox
Demo credentials are issued immediately on signup at the Developer Portal, with no sales call and no approval queue. Demo runs on test cards. A real card used there by accident is voided automatically after 30 minutes: it is never captured and never settles.
Live is separate. It requires a signed contract, a certification call, and production credentials issued to a named person. An agent cannot provision it, and the instructions published here tell it not to try.
Webhooks
Payment state changes are delivered as notifications you subscribe to per merchant
or store. The two guides that cover it are webhooks and notifications and notification subscriptions, and
the surfboard-webhooks skill bundles both.