Skip to main content
curl -X POST https://checkout.noxpay.io/v2/rfq \
  -H "api-key: <key>" \
  -H "Content-Type: application/json" \
  -d '{
    "from_currency": "USDT",
    "to_currency": "BRL",
    "from_amount": 1000.0,
    "webhook": "https://yourapp.com/webhooks/nox"
  }'
import requests

response = requests.post(
    "https://checkout.noxpay.io/v2/rfq",
    headers={
        "api-key": "<key>",
        "Content-Type": "application/json",
    },
    json={
        "from_currency": "USDT",
        "to_currency": "BRL",
        "from_amount": 1000.0,
        "webhook": "https://yourapp.com/webhooks/nox",
    },
)
print(response.json())
const response = await fetch("https://checkout.noxpay.io/v2/rfq", {
  method: "POST",
  headers: {
    "api-key": "<key>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    from_currency: "USDT",
    to_currency: "BRL",
    from_amount: 1000.0,
    webhook: "https://yourapp.com/webhooks/nox",
  }),
});
const data = await response.json();
{
  "rfq_id":            "NOXabc123...",
  "from_currency":     "USDT",
  "to_currency":       "BRL",
  "from_amount_d0":    1000.0,
  "to_amount_d0":      5050.0,
  "rate_d0":           5.050,
  "from_amount_d1":    1000.0,
  "to_amount_d1":      5060.0,
  "rate_d1":           5.060,
  "quote_pair":        "USDT_BRL",
  "settlement_eta_d0": "2026-07-01T19:00:00Z",
  "settlement_eta_d1": "2026-07-02T18:00:00Z",
  "expires_at":        "2026-07-01T12:00:30Z",
  "renewable_up_to":   "2026-07-01T12:10:00Z"
}
Requests a quote for converting 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

FieldTypeRequiredDescription
from_currencystringYesSource currency code
to_currencystringYesDestination currency code
from_amountfloatConditionalAmount to send. Exactly one of from_amount / to_amount must be provided
to_amountfloatConditionalAmount to receive
webhookstringNoURL to receive state update notifications

Response 201 Created

FieldTypeDescription
rfq_idstringID of the conversion — use it to accept, poll, or reference this quote
from_currencystringSource currency code
to_currencystringDestination currency code
from_amount_d0floatAmount to send for D0 settlement
to_amount_d0floatAmount to receive for D0 settlement
rate_d0floatRate for D0 settlement
from_amount_d1floatAmount to send for D1 settlement
to_amount_d1floatAmount to receive for D1 settlement
rate_d1floatRate for D1 settlement
quote_pairstringQuote pair identifier (e.g. USDT_BRL)
settlement_eta_d0stringEstimated settlement time if D0 is chosen (RFC 3339)
settlement_eta_d1stringEstimated settlement time if D1 is chosen (RFC 3339)
expires_atstringWhen the current rate expires (RFC 3339)
renewable_up_tostringLast moment the quote can still be accepted, across renewals (RFC 3339)
If D0 settlement is not available (desk closed or past cutoff), 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
curl -X POST https://checkout.noxpay.io/v2/rfq \
  -H "api-key: <key>" \
  -H "Content-Type: application/json" \
  -d '{
    "from_currency": "USDT",
    "to_currency": "BRL",
    "from_amount": 1000.0,
    "webhook": "https://yourapp.com/webhooks/nox"
  }'
import requests

response = requests.post(
    "https://checkout.noxpay.io/v2/rfq",
    headers={
        "api-key": "<key>",
        "Content-Type": "application/json",
    },
    json={
        "from_currency": "USDT",
        "to_currency": "BRL",
        "from_amount": 1000.0,
        "webhook": "https://yourapp.com/webhooks/nox",
    },
)
print(response.json())
const response = await fetch("https://checkout.noxpay.io/v2/rfq", {
  method: "POST",
  headers: {
    "api-key": "<key>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    from_currency: "USDT",
    to_currency: "BRL",
    from_amount: 1000.0,
    webhook: "https://yourapp.com/webhooks/nox",
  }),
});
const data = await response.json();
{
  "rfq_id":            "NOXabc123...",
  "from_currency":     "USDT",
  "to_currency":       "BRL",
  "from_amount_d0":    1000.0,
  "to_amount_d0":      5050.0,
  "rate_d0":           5.050,
  "from_amount_d1":    1000.0,
  "to_amount_d1":      5060.0,
  "rate_d1":           5.060,
  "quote_pair":        "USDT_BRL",
  "settlement_eta_d0": "2026-07-01T19:00:00Z",
  "settlement_eta_d1": "2026-07-02T18:00:00Z",
  "expires_at":        "2026-07-01T12:00:30Z",
  "renewable_up_to":   "2026-07-01T12:10:00Z"
}