Version: v4
Last updated: 2026-05-06
Base Path:
/v1/checkout_intents
Overview
The Checkout Intent API allows merchants to create a checkout intent and obtain a hosted payment URL. This API is used to:- Create a checkout intent
- Generate a hosted checkout URL
- Price the order in either a fiat currency (converted to stable coin at the current FX rate) or natively in a stable coin (no FX, 1:1)
- Receive stable-coin–based settlement
Important Design Notes
- All enum values are represented as integers in API requests and responses
- API consumers must always send and receive integer values
- USDT and USDC are supported as settlement stable coins
Authentication
All requests must include the following headers:Notes
X-Noncemust be unique per requestX-Timestampmust be within allowed time window- Signature must be generated using raw request body bytes
- Requests are protected against replay attacks
POST /v1/checkout_intents/
Description
Create a checkout intent and return a hosted checkout URL.Request
POST /v1/checkout_intents/Headers
Body Example — Fiat pricing (FX-converted)
Body Example — Native stable-coin pricing (no FX)
amount_cents is interpreted as stable-coin “cents”: 1000 = 10.00 USDT.
currency_rate on the resulting intent is null because no FX conversion happens.
Request Fields
⚠️ Important
- Exactly one of
currencyorstable_coinmust be set. Sending both, or neither, returns a10001validation error. currencyandstable_coinmust be integer values (Appendix A / B). Do NOT pass"USD"or"USDT"strings.- For native stable-coin pricing, USDT (
1) and USDC (2) are accepted. Other stable-coin enum values are reserved for future rollout and will be rejected. - The payment amount must be greater than 0.1 USDT / 0.1 USDC. Orders at or below this floor are rejected with a
50002error of the formamount must be greater than 0.1 <coin>, where<coin>is the resolved settlement coin name (USDTorUSDC). - For fiat-priced orders that should settle in a specific stable coin, send
accepted_stable_coins— the first entry picks the settlement coin used for FX conversion. Example:"currency": 1, "accepted_stable_coins": [2]settles a USD-priced order in USDC. Withoutaccepted_stable_coinsthe FX target defaults to USDT (the merchant’s store/businessaccepted_stable_coinssetting controls only which coins the payer may settle in via the response bitflag — it does not influence the FX target coin). accepted_stable_coinsmust be non-empty when provided and contain only valid StableCoin enum values; otherwise the request is rejected with10001.
Successful Response
Response Fields
Possible Errors
Notes
- All enum values are integers
- Do not send string enum names
- Nonce must be unique per request
- Timestamp must be UTC
- Always log
request_idfor debugging
Appendix A — Currency Enum (IntEnum)
Appendix B — StableCoin Enum (IntEnum)
✅ Current Behavior Successful checkout intents return
stable_coin_type equal to the resolved settlement coin:
stable_coin (native pricing) or accepted_stable_coins (fiat pricing fallback order). Defaults to 1 (USDT) when neither is set.
End of document.