Skip to main content
POST
private/send_rfq

Authorizations

X-DeriveWallet
string
header
required

The wallet the request acts for.

X-DeriveTimestamp
string
header
required

The current time in milliseconds, as a decimal string.

X-DeriveSignature
string
header
required

EIP-191 signature of the timestamp, by the wallet or one of its session keys.

Body

application/json
legs
object[]
required
subaccount_id
integer<uint64>
required
Required range: x >= 0
client
string
default:""
counterparties
string[] | null
extra_fee
string<decimal>
default:0

Non-negative decimal string of the human value (e.g. "1.5"), up to 12 fractional digits; a string or JSON number is accepted

label
string
default:""
max_total_cost
string<decimal> | null

Highest total cost you accept when you execute as buyer (direction: buy). Optional decimal string (e.g. "500") or JSON number.

Total cost is in USD for the full RFQ size, from your side of the trade. A positive cost means you pay. A negative cost means you receive.

private/rfq_get_best_quote and the {subaccount_id}.best.quotes channel skip quotes above this value. This is a quote filter only. private/execute_quote does not check it, and private/poll_quotes returns all quotes. Makers do not see this value.

min_total_cost
string<decimal> | null

Highest total cost you accept when you execute as seller (direction: sell). Optional decimal string (e.g. "-180") or JSON number.

It uses the same sign as max_total_cost, so a sale that pays you has a negative cost. To set the smallest amount you will receive, send that amount as a negative number. For example, -180 skips quotes that pay you less than 180. A positive value such as 180 skips only quotes that cost you more than 180.

It applies in the same places as max_total_cost. private/execute_quote does not check it. Makers do not see this value.

partial_fill_step
string<decimal>
default:1

Non-negative decimal string of the human value (e.g. "1.5"), up to 12 fractional digits; a string or JSON number is accepted

referral_code
string
default:""

Response

Success

ask_total_cost
string<decimal> | null
required

Optional decimal string of the human value (e.g. "1.5"), up to 12 fractional digits, or null; a string or JSON number is accepted

bid_total_cost
string<decimal> | null
required

Optional decimal string of the human value (e.g. "1.5"), up to 12 fractional digits, or null; a string or JSON number is accepted

cancel_reason
enum<string>
required
Available options:
,
user_request,
insufficient_margin,
signed_max_fee_too_low,
mmp_trigger,
cancel_on_disconnect,
session_key_deregistered,
subaccount_withdrawn,
rfq_no_longer_open,
compliance,
validation_failed
creation_timestamp
integer<int64>
required
filled_pct
string<decimal>
required

Non-negative decimal string of the human value (e.g. "1.5"), up to 12 fractional digits; a string or JSON number is accepted

label
string
required
last_update_timestamp
integer<int64>
required
legs
object[]
required
mark_total_cost
string<decimal> | null
required

Optional decimal string of the human value (e.g. "1.5"), up to 12 fractional digits, or null; a string or JSON number is accepted

max_total_cost
string<decimal> | null
required

The max_total_cost sent with the RFQ, as a decimal string, or null. It filters the best quote only. See private/send_rfq.

min_total_cost
string<decimal> | null
required

The min_total_cost sent with the RFQ, as a decimal string, or null. It filters the best quote only. See private/send_rfq.

partial_fill_step
string<decimal>
required

Non-negative decimal string of the human value (e.g. "1.5"), up to 12 fractional digits; a string or JSON number is accepted

rfq_id
string<uuid>
required

UUID v4 string

status
enum<string>
required
Available options:
open,
filled,
cancelled,
expired
subaccount_id
integer<int64>
required
total_cost
string<decimal> | null
required

Optional decimal string of the human value (e.g. "1.5"), up to 12 fractional digits, or null; a string or JSON number is accepted

valid_until
integer<int64>
required
wallet
string
required

20-byte Ethereum address as a 0x-prefixed lowercase hex string.

Required string length: 42
Pattern: ^0x[0-9a-fA-F]{40}$
counterparties
string[] | null

20-byte Ethereum address as a 0x-prefixed lowercase hex string.

Required string length: 42
Pattern: ^0x[0-9a-fA-F]{40}$
filled_direction
enum<string> | null
Available options:
buy,
sell