Start a payment attempt
Locks a crypto quote for the chosen token and mints a fresh deposit wallet, returning the refreshed checkout to poll.
Re-selecting the live attempt’s token returns that same attempt; choosing a different token abandons it and locks a new quote on a new address. Refused once the order or invoice is no longer payable.
Unauthenticated: possession of the checkout id is the credential, so send no API key. The id is unguessable and every payload is redacted for a buyer audience.
Path Parameters
The checkout to read — an order id or an invoice id. Base58 short id, 21–22 characters (never 0, O, I or l), e.g. 7Kq2mVn8pRt3XwYz5Bd4L — the value that appears in checkout and invoice links, and the one this API takes as a path id.
^[1-9A-HJ-NP-Za-km-z]{21,22}$"7Kq2mVn8pRt3XwYz5Bd4L"
Body
The token the buyer wants to pay with. Must be one of the store's enabledPaymentMethods. The token and chain the buyer pays with, named <asset>_<chain>; a bare sol, eth, matic or bnb is that chain's native coin. So usdc_base is USDC on Base and eth is ether on Ethereum mainnet. The matic key is Polygon's native coin, now called POL — the key keeps its original name and does not change.
sol, usdc_solana, eth_base, usdc_base, usdt_base, eth, usdc_ethereum, usdt_ethereum, matic, usdc_polygon, usdt_polygon, bnb, usdt_bnb "usdc_base"
Response
The checkout, with the new activeAttempt.
- Option 1
- Option 2
The hosted checkout payload for an order.
Marks this payload as an order checkout.
"order"The order's id. Base58 short id, 21–22 characters (never 0, O, I or l), e.g. 7Kq2mVn8pRt3XwYz5Bd4L — the value that appears in checkout and invoice links, and the one this API takes as a path id.
"7Kq2mVn8pRt3XwYz5Bd4L"
The selling store's id. Formatted as a UUID, e.g. 3f1a9c2e-7b04-4d8e-9a6f-2c5b1e0d7a83.
"3f1a9c2e-7b04-4d8e-9a6f-2c5b1e0d7a83"
Where the order is in its lifecycle. pending — created, waiting for the buyer to pay. completed — paid in full; any digital delivery has been released. partial — funds arrived but fell short of the locked quote. expired — the payment window closed without full payment, and any reserved stock went back to the pool.
pending, completed, partial, expired "pending"
Total the buyer owes. Decimal string in the resource's fiat currency, e.g. "49.99" — a string, never a JSON number, so no precision is lost in transit.
"49.99"
The fiat currency every amount on this resource is priced in. Crypto is quoted against it at payment time.
usd, eur "usd"
Where to send the buyer once the order is paid. Null when the merchant set none.
"https://example.com/thanks"
Where to send the buyer if they back out. Null when the merchant set none.
"https://example.com/cart"
When the order stops accepting payment. UTC timestamp in ISO 8601, e.g. 2026-07-29T14:30:00.000Z.
"2026-07-29T14:30:00.000Z"
When the order was paid in full. Null until it is. UTC timestamp in ISO 8601, e.g. 2026-07-29T14:30:00.000Z.
"2026-07-29T14:30:00.000Z"
The products being bought.
Whether a receipt email is on file. The address itself is never returned to the page.
false
The store the buyer is paying.
The live payment attempt — the locked quote, the deposit address and the confirmation progress. Null before the buyer picks a token and once the quote lapses.