Skip to main content
Creates a checkout session and gives you a link to a payment page we host, along with the address your customer pays to. The session lasts 30 minutes.
Call this from your server only, never from a browser or app, so your API key stays secret.

Endpoint

See Authentication. You can create up to 30 sessions a minute. See rate limits.

Body

number
required
The amount in USDC, greater than 0, up to two decimal places. Your customer pays it in USDC or the same amount in USDT.
string
Shown to the customer on the checkout page.
string
Your own reference, such as an order ID. We send it back to you in webhooks.
string
Saved on the session for the customer’s receipt.
string
fiat or usdc. Uses your account setting if you leave it out. usdc skips the conversion and keeps the payment in your wallet as USDC instead of paying it out.
string
Only used when settlement_mode is usdc. One of BASE, ARB, AVAX, OP, ETH, MATIC. Uses your account setting if you leave it out. Anything else returns a 400.
string
Where to send your customer after they pay, so they land on your own confirmation page. It must be a full https URL, up to 2048 characters, with no username or password in it. Plain http only works for localhost. You can also call this field return_url or success_url. See sending the customer back.

Examples

Response (201)

string
required
The session’s ID. Always starts with cs_.
string
required
The payment page. Send your customer here.
string
required
Takes USDC or USDT on any of six networks. See supported networks.
number
required
The amount in USDC.
string
required
When the session runs out, 30 minutes after it’s created, ISO 8601. After that, status becomes expired.
string
required
Always "pending" for a new session. Follow it with the status endpoint or webhooks.
string
required
fiat or usdc, whichever this session is using.
string
Only when settlement_mode is usdc. The network this payment will end up on.
string
Only if you sent one. We read it back from the saved session, so seeing it here confirms we stored it.