FX
Create a firm FX quote
Always firm — consumes one vendor quote and persists a Quote row. Pass an Idempotency-Key header to make retries safe (returns the original response on replay).
post/v1/fx/quotes
Headers
X-API-Keystring
API key
Idempotency-Keystring
Client-supplied key to deduplicate retries (e.g. on network timeout). Replays return the original quote rather than burning another vendor quote.
Request body
Example request
{
"onBehalfOf": "cus_abc123",
"pair": {
"sourceCurrency": "USDT",
"sourceNetwork": "BASE",
"sourceRail": "SEPA",
"destinationCurrency": "USDC",
"destinationNetwork": "BASE",
"destinationRail": "SEPA"
},
"amount": {
"value": "10000000",
"side": "SOURCE"
},
"maxSlippageBps": 25
}Response
Firm quote created.
Example response
{
"id": "quote_abc123",
"pair": {
"sourceCurrency": "USDT",
"sourceNetwork": "BASE",
"sourceRail": "SEPA",
"destinationCurrency": "USDC",
"destinationNetwork": "BASE",
"destinationRail": "SEPA"
},
"amount": {
"value": "10000000",
"side": "SOURCE"
},
"grossSource": "10000000",
"displayedDestination": "9998500",
"rate": "0.9998500",
"expiresAt": "2026-05-26T19:42:00.000Z",
"quoteBinding": "PERSISTED",
"expectedDepositDetails": {
"kind": "CRYPTO_ADDRESS",
"address": "0xCustomerInfiniteTxWallet...",
"network": "BASE",
"note": "Deposit instructions become active only when the trade created by accepting this quote includes them — immediately on accept, or after the fx_trade.deposit_instructions_ready event if the trade starts in PENDING_WALLET_APPROVAL. Funds sent before then cannot be matched to a trade."
}
}Changes
No recorded changes to this endpoint across all 1 revision of this API.