Requests two-sided quotes from participating market makers. Required minimum session key permission level is account
Parameters
subaccount_idintegerrequired Subaccount ID
legsarray of objectsrequired RFQ legs
legs[].amountstringrequired Amount in units of the base
legs[].directionstringrequired Leg direction enum buysell
legs[].instrument_namestringrequired Instrument name
counterpartiesarray of strings Optional list of market maker account addresses to request quotes from. If not supplied, all market makers who are approved as RFQ makers will be notified.
labelstring Optional user-defined label for the RFQ
max_total_coststring An optional max total cost for the RFQ. Only used when the RFQ sender executes as buyer. Polling endpoints and channels will ignore quotes where the total cost across all legs is above this value. Positive values mean the RFQ sender expects to pay $, negative mean the RFQ sender expects to receive $.This field is not disclosed to the market makers.
min_total_coststring An optional min total cost for the RFQ. Only used when the RFQ sender executes as seller. Polling endpoints and channels will ignore quotes where the total cost across all legs is below this value. Positive values mean the RFQ sender expects to receive $, negative mean the RFQ sender expects to pay $.This field is not disclosed to the market makers.
partial_fill_stepstring Optional step size for partial fills. If not supplied, the RFQ will not support partial fills.
Response
idstring or integerrequired
resultobjectrequired
result.ask_total_coststring or nullrequired Ask total cost for the RFQ implied from orderbook (as sell)
result.bid_total_coststring or nullrequired Bid total cost for the RFQ implied from orderbook (as buy)
result.cancel_reasonstringrequired Cancel reason, if any enum user_requestinsufficient_marginsigned_max_fee_too_lowmmp_triggercancel_on_disconnectsession_key_deregisteredsubaccount_withdrawnrfq_no_longer_opencompliance
result.counterpartiesarray of strings or nullrequired List of requested counterparties, if applicable
result.creation_timestampintegerrequired Creation timestamp in ms since Unix epoch
result.filled_directionstring or nullrequired Direction at which the RFQ was filled (only if filled) enum buysell
result.filled_pctstringrequired Percentage of the RFQ that has been filled, from 0 to 1.
result.labelstringrequired User-defined label, if any
result.last_update_timestampintegerrequired Last update timestamp in ms since Unix epoch
result.mark_total_coststring or nullrequired Mark total cost for the RFQ (assuming buy direction)
result.max_total_coststring or nullrequired Max total cost for the RFQ
result.min_total_coststring or nullrequired Min total cost for the RFQ
result.partial_fill_stepstringrequired Step size for partial fills (default: 1)
result.rfq_idstringrequired RFQ ID
result.statusstringrequired Status enum openfilledcancelledexpired
result.subaccount_idintegerrequired Subaccount ID
result.total_coststring or nullrequired Total cost for the RFQ (only if filled)
result.valid_untilintegerrequired RFQ expiry timestamp in ms since Unix epoch
result.walletstringrequired Wallet address of the RFQ sender
result.legsarray of objectsrequired RFQ legs
result.legs[].amountstringrequired Amount in units of the base
result.legs[].directionstringrequired Leg direction enum buysell
result.legs[].instrument_namestringrequired Instrument name
Example
{request_example_shell}
{request_example_javascript}
{request_example_python}
The above command returns JSON structured like this: