Skip to main content
Returns a real-time exchange rate, fee breakdown, and a quote_id valid for 5 minutes. Pass the quote_id to POST /wallet/payout or POST /wallet/deposits/new to execute the transaction at the quoted rate.
Requires an Idempotency-Key header. Rate-limited to 30 requests per minute. This endpoint both prices the transaction AND generates a binding quote_id — treat it as quote creation, not just a rate lookup.

Request body

string
required
Source currency code (ISO 4217), e.g. "USD", "EUR".
string
required
Target currency code (ISO 4217), e.g. "USD", "CLP", "BRL", "MXN".
number
required
Amount in the source currency to convert. With amount_type: "receive", the amount the customer receives in to_currency.
integer
The payment method ID (from GET /payment-methods/payout or GET /payment-methods/payin). When provided, the quote is scoped to that specific payment rail and its exact fee structure is applied.
string
Transaction direction: "payout" (for sends/withdrawals) or "payin" (for deposits). Required when method_id is provided.
string
default:"send"
Payout quotes only. send (default): amount is what leaves your wallet. receive: amount is what the customer receives, and the quote works out the send amount and fees. Using receive with method_type: "payin" returns 422. See Pay out by receive amount.

Response fields

Using the quote_id

Once you have a quote_id, use it in the execution step within 5 minutes: For payouts:
For deposits (payin):
Quotes expire after 5 minutes and cannot be reused. Generating a quote and letting it expire before executing wastes a rate lock and a request toward your rate limit.