Method Name
private/send_rfq
private/send_rfqRequests 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 |
| clientstring Optional client that sent RFQ |
| 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. |
| extra_feestring Extra fee in USDC added to the total final fee paid by user and directly sent to client / builder (must be between 0.000001 and 1000 USDC). The referral_code field must also be filled out. See Builder Fee page in docs for more info. |
| 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. |
| preferred_directionstring If disclosed, the direction the user is aiming to execute as. Default None. enum buysell |
| referral_codestring Optional referral code for the RFQ |
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.preferred_directionstring or nullrequired If disclosed, the direction the user is aiming to execute as. enum buysell |
| result.reducing_directionstring or nullrequired If applicable, the direction from user's perspective that would reduce their position in each leg. enum buysell |
| 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:
{response_example_json}