Method Name
private/send_quote
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.
Required minimum session key permission level is admin
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 timed_out |
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}