Conversions
Create Conversion
POST /v2/rfq — request a quote to convert between two currencies, with rates for same-day (D0) and next-day (D1) settlement.
Requests a quote for converting
Response
If D0 settlement is not available (desk closed or past cutoff),
from_currency into to_currency. The response returns two rates — one for same-day (D0) settlement and one for next-day (D1) settlement — plus an expiration window. Nothing is debited or locked at this point; call Accept Conversion to execute the trade.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
from_currency | string | Yes | Source currency code |
to_currency | string | Yes | Destination currency code |
from_amount | float | Conditional | Amount to send. Exactly one of from_amount / to_amount must be provided |
to_amount | float | Conditional | Amount to receive |
webhook | string | No | URL to receive state update notifications |
Response 201 Created
| Field | Type | Description |
|---|---|---|
rfq_id | string | ID of the conversion — use it to accept, poll, or reference this quote |
from_currency | string | Source currency code |
to_currency | string | Destination currency code |
from_amount_d0 | float | Amount to send for D0 settlement |
to_amount_d0 | float | Amount to receive for D0 settlement |
rate_d0 | float | Rate for D0 settlement |
from_amount_d1 | float | Amount to send for D1 settlement |
to_amount_d1 | float | Amount to receive for D1 settlement |
rate_d1 | float | Rate for D1 settlement |
quote_pair | string | Quote pair identifier (e.g. USDT_BRL) |
settlement_eta_d0 | string | Estimated settlement time if D0 is chosen (RFC 3339) |
settlement_eta_d1 | string | Estimated settlement time if D1 is chosen (RFC 3339) |
expires_at | string | When the current rate expires (RFC 3339) |
renewable_up_to | string | Last moment the quote can still be accepted, across renewals (RFC 3339) |
from_amount_d0 / to_amount_d0 / rate_d0 / settlement_eta_d0 are omitted from the response.
Status codes: 201 Created, 400 Bad Request, 401 Unauthorized, 422 Unprocessable Entity, 500 Internal Server Error

