These endpoints are an observability layer, not part of the trade path. Nothing here affects pricing, selection, or settlement
— they exist so you can monitor and reconcile your RFQ activity.
Authentication
Both endpoints use the same OAuth 2.0 Client Credentials token as the rest of the API — see Authentication. Send it as a bearer token:GET /rfq/executions — your executed RFQs
Returns the RFQs you priced and won, most recent first. Use it to reconcile fills and to backfill anything you missed on the live feed.
Response
200 OK with a JSON array, ordered by executed_at descending:
The listing is capped at the 500 most recent executions. Older history is out of scope — pull and persist regularly if you
need a longer record. An empty array (
[]) simply means you haven’t won any RFQs yet.GET /rfq/executions/feed — live execution tape
A WebSocket broadcast of every successful RFQ execution, platform-wide — not just yours.
Authorization header on the upgrade request. The same LP-with-pricer gate applies before the socket upgrades.
Message shape
One text frame per execution:Connection behavior
1
No replay on connect
You receive only executions that happen after you connect. The feed is live market data, not a replayable log. Connect
first, then act — anything that printed before you connected is gone from the socket (use the REST listing to catch up).
2
Heartbeat every 15s
The server sends a WebSocket Ping every 15 seconds to keep the connection alive through the load balancer’s 30-second
idle timeout. Standard WebSocket clients auto-respond with a Pong; you don’t need to send anything.
3
Detect gaps with offset
offset increases by one per print. If it jumps (e.g. 41 → 44 after a lag or disconnect), you missed prints. Backfill
the gap from GET /rfq/executions, then resume consuming the live feed.Implement reconnection with exponential backoff. On every (re)connect, compare the first
offset you see against the last one
you processed and backfill via REST if there’s a gap.How the two fit together
The typical pattern: hold the WebSocket open for live prints, and periodically (or after any
offset gap) call the REST listing to confirm you’ve recorded every RFQ you won.