Send Quote

Method Name

private/send_quote

Sends a quote in response to an RFQ request.
The legs supplied in the parameters must exactly match those in the RFQ.

Parameters

direction string required
Quote direction, buy means trading each leg at its direction, sell means trading each leg in the opposite direction.
enum buy sell
max_fee string required
Max fee ($ for the full trade). Request will be rejected if the supplied max fee is below the estimated fee for this trade.
nonce integer required
Unique nonce defined as a concatenated UTC timestamp in ms and random number up to 6 digits (e.g. 1695836058725001, where 001 is the random number)
rfq_id string required
RFQ ID the quote is for
signature string required
Ethereum signature of the quote
signature_expiry_sec integer required
Unix timestamp in seconds. Expiry MUST be at least 310 seconds from now. Once time till signature expiry reaches 300 seconds, the quote will be considered expired. This buffer is meant to ensure the trade can settle on chain in case of a blockchain congestion.
signer string required
Owner wallet address or registered session key that signed the quote
subaccount_id integer required
Subaccount ID
legs array of objects required
Quote legs
legs[].amount string required
Amount in units of the base
legs[].direction string required
Leg direction
enum buy sell
legs[].instrument_name string required
Instrument name
legs[].price string required
Leg price
label string
Optional user-defined label for the quote
mmp boolean
Whether the quote is tagged for market maker protections (default false)

Response

id string or integer required
result object required
result.cancel_reason string required
Cancel reason, if any
enum user_request insufficient_margin signed_max_fee_too_low mmp_trigger cancel_on_disconnect session_key_deregistered subaccount_withdrawn rfq_no_longer_open compliance
result.creation_timestamp integer required
Creation timestamp in ms since Unix epoch
result.direction string required
Quote direction
enum buy sell
result.fee string required
Fee paid for this quote (if executed)
result.is_transfer boolean required
Whether the order was generated through private/transfer_position
result.label string required
User-defined label, if any
result.last_update_timestamp integer required
Last update timestamp in ms since Unix epoch
result.legs_hash string required
Hash of the legs of the best quote to be signed by the taker.
result.liquidity_role string required
Liquidity role
enum maker taker
result.max_fee string required
Signed max fee
result.mmp boolean required
Whether the quote is tagged for market maker protections (default false)
result.nonce integer required
Nonce
result.quote_id string required
Quote ID
result.rfq_id string required
RFQ ID
result.signature string required
Ethereum signature of the quote
result.signature_expiry_sec integer required
Unix timestamp in seconds
result.signer string required
Owner wallet address or registered session key that signed the quote
result.status string required
Status
enum open filled cancelled expired
result.subaccount_id integer required
Subaccount ID
result.tx_hash string or null required
Blockchain transaction hash (only for executed quotes)
result.tx_status string or null required
Blockchain transaction status (only for executed quotes)
enum requested pending settled reverted ignored
result.legs array of objects required
Quote legs
result.legs[].amount string required
Amount in units of the base
result.legs[].direction string required
Leg direction
enum buy sell
result.legs[].instrument_name string required
Instrument name
result.legs[].price string required
Leg price

Example

{request_example_shell}
{request_example_javascript}
{request_example_python}

The above command returns JSON structured like this:

{response_example_json}