Method Name
private/send_quote
private/send_quoteSends 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
| directionstringrequired Quote direction, buy means trading each leg at its direction, sell means trading each leg in the opposite direction.enum buysell |
| max_feestringrequired Max fee ($ for the full trade). Request will be rejected if the supplied max fee is below the estimated fee for this trade. |
| nonceintegerrequired 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_idstringrequired RFQ ID the quote is for |
| signaturestringrequired Ethereum signature of the quote |
| signature_expiry_secintegerrequired 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. |
| signerstringrequired Owner wallet address or registered session key that signed the quote |
| subaccount_idintegerrequired Subaccount ID |
| legsarray of objectsrequired Quote legs |
| legs[].amountstringrequired Amount in units of the base |
| legs[].directionstringrequired Leg direction enum buysell |
| legs[].instrument_namestringrequired Instrument name |
| legs[].pricestringrequired Leg price |
| clientstring Optional client that sent the quote |
| labelstring Optional user-defined label for the quote |
| mmpboolean Whether the quote is tagged for market maker protections (default false) |
Response
| idstring or integerrequired |
| resultobjectrequired |
| 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.creation_timestampintegerrequired Creation timestamp in ms since Unix epoch |
| result.directionstringrequired Quote direction enum buysell |
| result.extra_feestringrequired Extra fee in USDC added by the referring client (included in quote fee) |
| result.feestringrequired Fee paid for this quote (if executed) |
| result.fill_pctstringrequired Percentage of the RFQ that this quote would fill, from 0 to 1. |
| result.is_transferbooleanrequired Whether the order was generated through private/transfer_position |
| result.labelstringrequired User-defined label, if any |
| result.last_update_timestampintegerrequired Last update timestamp in ms since Unix epoch |
| result.legs_hashstringrequired Hash of the legs of the best quote to be signed by the taker. |
| result.liquidity_rolestringrequired Liquidity role enum makertaker |
| result.max_feestringrequired Signed max fee |
| result.mmpbooleanrequired Whether the quote is tagged for market maker protections (default false) |
| result.nonceintegerrequired Nonce |
| result.quote_idstringrequired Quote ID |
| result.rfq_idstringrequired RFQ ID |
| result.signaturestringrequired Ethereum signature of the quote |
| result.signature_expiry_secintegerrequired Unix timestamp in seconds |
| result.signerstringrequired Owner wallet address or registered session key that signed the quote |
| result.statusstringrequired Status enum openfilledcancelledexpired |
| result.subaccount_idintegerrequired Subaccount ID |
| result.tx_hashstring or nullrequired Blockchain transaction hash (only for executed quotes) |
| result.tx_statusstring or nullrequired Blockchain transaction status (only for executed quotes) enum requestedpendingsettledrevertedignoredtimed_out |
| result.legsarray of objectsrequired Quote legs |
| result.legs[].amountstringrequired Amount in units of the base |
| result.legs[].directionstringrequired Leg direction enum buysell |
| result.legs[].instrument_namestringrequired Instrument name |
| result.legs[].pricestringrequired Leg price |
Example
{request_example_shell}{request_example_javascript}{request_example_python}The above command returns JSON structured like this:
{response_example_json}