Endpoint
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.

