Skip to main content

Ticker Stream

Get 24-hour statistics updated every 200ms.
Update Frequency: Every 200ms Ticker Fields:

Candles Stream

Real-time candlestick data with historical backfill.
Supported Intervals: 10s, 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1M Initial Response: Up to 5000 historical candles Updates: Real-time (10s instant; larger intervals aggregated ~10–20s) Candle Fields:

Trades Stream

Real-time trades feed
Initial Response: None (stateless) Updates: Real-time on every fill Trade Fields: This public market-data message does not include the account tradeId. Use POST /account fill history or authenticated account fill updates when you need to reconcile one execution across account views.

L2 Snapshot Stream

Periodic full order book snapshots.
Parameters:
  • nlevels (optional): Number of price levels per side
  • aggregation (optional): Price bucket size in quote currency
Update Frequency: Every 200ms Structure: levels[0] = bids (descending), levels[1] = asks (ascending)

L2 Delta Stream

Real-time incremental order book updates with initial snapshot.
L2 Delta sends an initial snapshot (latest cached book state) on subscription, then publishes every changed price level for an instrument update together in one atomic delta message.
Initial Response: Latest cached book state (if available) Updates: Real-time, one message per instrument update batch Delta Format:
  • Each delta message contains every changed price level in the instrument’s update batch
  • A message may contain multiple bid and ask changes; either side may be empty
  • levels[0] = bids (highest to lowest)
  • levels[1] = asks (lowest to highest)
  • Each level: {px, sz, n} where n is always 0 for deltas
  • sz: 0 means remove the level
Apply all levels in a delta message atomically before exposing the updated local book. If the connection drops or the client falls behind as a slow consumer, reconnect and rebuild from a fresh l2Snapshot before resuming l2Delta processing.

Risk Metrics Stream

Subscribe to the complete risk-surface set for a symbol, including the live regime, maximum-leverage curve, per-regime maintenance-margin grids, and asset correlations.
Initial Response: Latest cached risk metrics (if available) Updates: Event-driven (only when asset risk changes) Risk Metrics Fields: Buy/sell point fields (each cell in the grid): Surface indexing: Select the desired surfaces[] regime, find the notional and leverage brackets, then use buy[notional_idx][leverage_idx] or sell[notional_idx][leverage_idx]. Interpolate between surrounding grid points if needed.

Impact Curve Stream

Subscribe to the latest liquidation-size impact curve for one market. The server sends the cached curve immediately when available, followed by executor-published updates.
  • timestamp is Unix time in milliseconds.
  • Each curve contains 250 basis-point values at log-uniform size knots.
  • minSize is the size represented by the first knot. Knot i represents exp(logMin + i / (n - 1) * logRange).
  • No initial event is sent before the executor publishes the first curve for that symbol.
The same cached value is available through GET /impact.

Frontend Context Stream

Aggregated market context for all symbols. Ideal for dashboard views.
Initial Response: Latest cached ticker data for all symbols Updates: Every 2 seconds Context Fields:

Multiple Subscriptions

Subscribe to multiple streams at once:
Response:

Example Implementation