RFQs
Understand how a request for quote solicits pricing from makers, how a quote is accepted, and how last look decides whether the trade completes.
A request for quote (RFQ) asks makers to price a trade directly, instead of resting an order on the public order book. Use an RFQ for size, or for a multi-leg strategy without a standing book.
Takers and Makers
| Role | In one RFQ |
|---|---|
| Taker | Requests quotes and executes against one. |
| Maker | Answers with quotes and decides during last look whether the trade completes. |
Who Counterparties See
Counterparties never see your user or account identifiers. Makers see an RFQ’s requester as requester_id; quotes carry that requester ID alongside the quote submitter’s quoter_id. Both are RFQ participant IDs: stable, opaque pseudonyms that let a counterparty recognize a repeat participant.
Read your own value from GET /users/me — with an API key holding the read scope, or an interactive session. It never changes, so it is also how you recognize your own RFQs and quotes coming back from the exchange.
Request a Quote
An RFQ names what to price and how much:
- One market by its ticker, an existing combo (a multi-market strategy with its own ticker), or an ad-hoc list of legs.
- A size in whole contracts (
quantity) or in dollars (cash_quantity). Provide exactly one. - Optionally a
side: the side you intend to execute. Omit it to request two-sided pricing.
| RFQ status | Meaning |
|---|---|
open |
Still soliciting quotes. |
closed |
Concluded: accepted, expired, or canceled. |
rejected |
Rejected by the exchange. |
See Create an RFQ for the request fields.
Answer with a Quote
Find the RFQs soliciting your member with List RFQs: it returns every RFQ visible to your member — your own and those requesting your quotes. Each RFQ names its requester by requester_id (filter by it to follow one repeat requester) and carries the expires_at deadline to quote within; quote promptly if expires_at is ever absent.
A quote is single-sided: a bid (side: buy) or an offer (side: sell) at one price and quantity, keyed by your client_quote_id. To quote both sides, submit two quotes with distinct ids. A maker can cancel a Quote while it is open.
See Create a Quote for the request fields.
Accept, Confirm, Execute
The taker accepts one quote by trading against it. The accept names the quote’s quote_id and rfq_id, takes the side opposite the quote (buy lifts an offer, sell hits a bid), and must match the quote’s price and quantity.
An accepted quote is not a completed trade. Acceptance opens last look, during which the maker can confirm or reject. Confirming executes the trade; rejecting prevents the trade from executing and releases the maker from the quote; a timeout counts as a reject, so the trade does not execute.
Accept a Quote returns no body. When the maker confirms and the trade completes, it appears in your fills, correlated by the client_order_id you supplied on the accept.
| Quote status | Meaning |
|---|---|
open |
Live and executable. |
accepted |
A taker accepted it; last look is running. |
confirmed |
The maker confirmed after acceptance. |
executed |
The trade completed. |
cancelled |
Pulled or expired. |
rejected |
Rejected by the maker or the exchange. |