Generate Quote
Generate a formal, time-limited quote before executing a transaction. A quote locks in the exchange rate and fee so the amount that executes matches what you priced.
When to use this
Use this once you know your source account, destination details, amount, and rail — and before calling Execute Transaction.
Prerequisites
- A valid
x-api-key - A unique
x-idempotency-keyfor this request - Source account confirmed (the account you intend to debit)
- Destination/beneficiary account confirmed and complete
- Amount validated against corridor limits (see Check Transaction Limits)
Request
curl --request POST \
--url $baseUrl/transactions/quote \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--header 'x-idempotency-key: YOUR_UNIQUE_UUID' \
--data '{
"source": {
"accountId": "string",
"currency": "USD",
"amount": 1000000,
"rail": "ACH",
"chain": "Ethereum",
"address": "string",
"type": "CRYPTO"
},
"destination": {
"beneficiaryAccountId": "string",
"accountId": "string",
"currency": "USD",
"type": "BANK",
"accountNumber": "string",
"bankCode": "string",
"country": "Nigeria",
"chain": "Base",
"address": "string",
"name": "string",
"paymentMethod": "Bank Transfer"
},
"metadata": {}
}'The source object describes where funds come from. The destination object describes which beneficiary account or address will receive the funds.
Response
Returns the priced quoteId along with the finalized source and destination terms. Save the quoteId - you'll need it immediately for execution.
Common failure reasons
- Amount falls outside the supported limit range
- Source/destination configuration isn't supported together
- Destination details don't match the selected rail
Do not continue if
- The amount is outside supported limits
- Source or destination details don't match the rail
- You didn't receive a valid
quoteId
Call this next
Updated 13 days ago
Did this page help you?