Payments API
A multi-tenant payments API: customers, accounts, deposits, payouts, transfers, swaps and the compliance surfaces around them. Every response is enveloped, every list is cursor-paginated with no total, every mutation takes an Idempotency-Key, and every error carries a debugId that also appears in our log line.
97 operations across 82 paths, contract version 0.0.0. Everything on this site is generated from the repository that implements it — the reference from the committed contract, the catalogues from the code that raises and emits, the quickstart from the file a newcomer follows.
Start here
Start
- Quickstart — From nothing to a confirmed payout in mock mode, unassisted.
- Concepts — Minor units, idempotency, cursor pagination, debugId.
- TypeScript SDK — Install, the typed client, automatic idempotency and pagination.
Reference
- API reference — Every operation, generated from the contract itself.
- Error catalogue — Every error code, its HTTP status, and whether retrying can help.
- Event catalogue — Every event type we publish, its version and its payload.
- Rate limits — Our caps, our windows, and what a 429 from us means.
Guides
- Idempotency — The four replay and conflict cases, and the headers that name them.
- Webhooks — Signature verification, the raw-body trap, and the attempt ladder.
Authentication
A bearer token on every call. Keys are prefixed pcp_sk_ (secret), pcp_rk_ (restricted) and pcp_pk_ (publishable); only the first two can move money, and only the last is safe in a browser.
curl http://127.0.0.1:8080/v1/whoami \
-H "Authorization: Bearer pcp_sk_…"The command-line tool is pcp. It arrives at M2 — until then the quickstart is curl and the typed TypeScript SDK.
What this API covers
- accounts
- activation
- api_keys
- bank_accounts
- beneficiaries
- challenges
- counterparties
- customer_sessions
- customers
- deposits
- eligibility
- events
- exchange_rates
- hosted
- identity
- identity_verifications
- invitations
- members
- payouts
- request_logs
- swaps
- test_helpers
- transactions
- transfers
- usage
- wallets
- webhook_endpoints
Nothing on this site is transcribed. If a page and the platform disagree, the build fails — which is why the numbers above are safe to quote.