Skip to main content
The API is a small REST surface. Create a payment, read a payment, and receive webhooks. Everything else, such as apps, keys and wallets, is managed in the dashboard.

Base URL

Endpoints are versioned in the path, /v1/....

Authentication

Send one of two header keys. Both are generated per app in the dashboard. Test keys only work on sandbox and live keys only on production. A key used in the wrong environment is rejected with 401. Reading a payment by id needs no key. Webhooks are authenticated the other way round, with a signature you verify. See the webhooks guide.

Errors

Non-2xx responses carry a JSON body:

Amounts

Amounts are in USDC, as JSON numbers. Price in USDC or convert from your currency when you create the payment.