Skip to main content
GET
Open a Server-Sent Events (SSE) stream for one quote request. You receive the current best quote each time market makers submit, update, or withdraw quotes.

Authentication

Send your API key in the X-API-Key header. The key needs the positions:read scope.
A Privy JWT (Authorization: Bearer <jwt>) is also accepted. See Authentication.

Path parameters

string
required
The quote request ID (UUID).

SSE event types

best_quote

Sent whenever the quote book changes: a quote is submitted, updated, withdrawn, or expires. book_seq increments monotonically, so a gap means you missed an update.
When no quotes are active, best_quote is null:

status

Sent when the quote request leaves active (committed, cancelled, or expired). committed_rfq_id is the created RFQ id when status is committed, and null otherwise.
Immediately after status, the stream sends one terminal event for the outcome (committed, cancelled, or expired) and closes. Listen for either status or the terminal event.

committed

The quote request was committed into an RFQ. Follow the trade through confirmation and settlement on the WebSocket rfq:{rfq_id} channel.

cancelled

You cancelled the quote request with Cancel.

expired

The quote request reached its expires_at without being committed.

Integration guide

  1. Open the stream after you create or update a quote request.
  2. On each best_quote event, update the payout odds you display. Store book_seq and the best quote id.
  3. To commit, send expected_version, displayed_quote_id, displayed_quote_book_seq, and min_payout_odds_seen to Commit.
  4. On a terminal event, close the stream and handle the outcome. On a commit, read the RFQ id from committed_rfq_id (status event) or rfq_id (committed event). Follow the trade on the WebSocket rfq:{rfq_id} channel.

Errors