Creating a quote
POST /v1/quotes for onramp. What to send, what comes back, what this call does not do.
The starting point of the onramp. The call creates a quote with a 15-minute TTL. It does not create a conversion and does not issue a Pix QR.
Prerequisites
- End customer with platform KYC approved. Without an approved KYC, the quote fails with a validation error. See KYC.
- Destination address (
destination_wallet_address) and network (destination_wallet_network) declared. - Amount: BRL (
source_amount) or USDT (target_amount).
The call
POST /v1/quotes
The body carries the end customer (user_id), the type (pix_onramp), the amount, and the destination address. Exact fields land in the API reference.
What comes back
The response carries:
id: stable quote identifier.exchange_rate: the applied BRL → USDT rate, considering the fee mode configured for your organization.source_amountandtarget_amount: BRL and USDT implied.expires_at: timestamp at which the quote stops being acceptable.
The exposed rate depends on your organization's fee mode.
What does not come back
- Pix QR. The QR is only issued at accept. See Accepting the quote.
- Conversion. Quotes do not create conversions.
- Limit reservation. Reservation happens at accept.
15-minute TTL
The quote is valid for 15 minutes from creation. If your UX needs more time between getting the rate and the end customer confirming, quote again at accept, do not try to extend the validity.
Don't poll quotes
A quote does not change state. If you need a newer rate, create another quote.
Common errors
- End customer KYC pending or rejected → validation error with a stable code.
- Destination address invalid for the declared network →
invalid_wallet_address(422). - Unsupported network →
unsupported_deposit_network(422). - No permission for
pix_onramp→ authorization error.
The full taxonomy lands in the API reference.
Next step
- Accepting the quote: converts the quote into a conversion and issues the Pix QR.
