Skip to main content

POST /v1/quote — Indicative quote

Returns a reference price. Not persisted, not signed, not executable.

Request body

string
required
On-chain bytes32 corridor ID. Obtain from GET /v1/corridors.
string
required
0x-prefixed ERC-20 address of the input token.
string
required
0x-prefixed ERC-20 address of the output token.
string
required
Decimal display amount of the input token. Must be a JSON string (e.g. "1000").
string
required
0x-prefixed wallet address registered to your credential with swap permission.
string
Must be omitted, null, or INDICATIVE. Sending FIRM returns 400.

Response 200 OK

string
Derived pair in BASE-QUOTE format (e.g. USDT-IDRX). USD token is always base; otherwise alphabetical.
string
SELL (sending base token) or BUY (receiving base token).
AmountInfo
Input and output amounts. Each contains display (string), raw (string), token (string).
string
Risk state: NORMAL, PROTECT, or RESTRICT.
integer
Unix timestamp in seconds.
FeeBreakdownInfo
Full fee transparency. See Fee breakdown below.
OnchainFirmQuoteInfo
On-chain quote-shaped data — preview only, not signed.
Errors: 400, 401, 403, 422 (plain-text), 503

POST /v1/firm-quote — Firm executable quote

Persists the quote, signs the on-chain FirmQuote EIP-712 payload, and returns calldata for commitFirmQuote.

Request body

Same as POST /v1/quote, except:
string
required
Must be FIRM.
string
Partner-supplied idempotency reference. Non-empty, no leading or trailing whitespace, max 128 chars. Any previously used value returns 409.

Response 200 OK

Contains every field from the indicative response, plus:
string
Hex-encoded EIP-712 signature over the FirmQuote payload.
ExecutionInfo
Transaction target and calldata for on-chain execution.

ExecutionInfo

Errors: 400, 401, 403, 409 (duplicate client_ref), 422 (plain-text), 503

Fee breakdown

Every quote response includes a detailed fee_breakdown:

FeeBreakdownInfo

All spread bps fields are decimal strings, not numbers. They may be fractional ("3.5") or negative ("-2"). Parse them as strings.
Fixed and variable fees are deducted from the input token before output calculation. The spread fee is expressed in output token units.

PartnerPricingInfo

For mode: "STANDARD": For mode: "FIXED_INPUT_RATE":