Deep Dive — RFQ Protocol
Request-for-Quote (RFQ) lets makers respond to quote requests over WebSocket. The SDK exposes the public RFQ event stream, the private delivery stream, and the three maker quote methods.
Public discovery (rfqs() stream) works from both browser and server entry points — no authentication required. Quote submission, confirmation, and withdrawal are authenticated WebSocket operations that require the server entry point.
The flow
- A taker submits a request for quote. It appears on the public
rfqsstream. - A maker submits a quote in response (
rfq.submitQuote). - The taker confirms or rejects. The maker sees the outcome on the private
rfqDeliveriesstream. - The maker confirms the fill (
rfq.confirmQuote) or withdraws a live quote (rfq.withdrawQuote).
Watching for requests
The public rfqs stream emits RfqPublicEvent messages:
Code
Submitting a quote
Code
RfqSubmitQuoteParams:
| Field | Type | Required | Meaning |
|---|---|---|---|
rfqId | string | Yes | The RFQ being quoted |
price | string | Yes | Quote price (decimal string) |
quantity | string | Yes | Quote quantity (decimal string) |
validUntil | number | bigint | No | Expiry (millisecond timestamp) |
Confirming a quote
Code
RfqConfirmQuoteParams:
| Field | Type | Required | Meaning |
|---|---|---|---|
rfqId | string | Yes | The RFQ |
quoteId | string | Yes | The quote being confirmed |
confirm | boolean | Yes | true to confirm, false to reject |
Withdrawing a quote
Code
RfqWithdrawQuoteParams:
| Field | Type | Required | Meaning |
|---|---|---|---|
rfqId | string | Yes | The RFQ |
quoteId | string | Yes | The quote to withdraw |
Private delivery stream
The authenticated rfqDeliveries stream emits RfqPrivateDelivery messages — the private outcome of your quotes:
Code
rfqDeliveries takes a scope ("account" or "session"), like the orders stream.
Combos
RFQ often targets multi-leg combos. Create a combo instrument via REST before quoting:
Code
See the Combos Reference for combo operations.
What's next
- WebSocket Reference — RFQ type signatures
- Data Types — decimal strings and bigint timestamps