Full Orderbook
Subscribe to the full orderbook stream. Delivers delta-only updates for deep, full-depth market data.
Covers: Spot / USDT contract / USDC contract / Inverse contract
- Retail Price Improvement (RPI) orders will not be included in the messages.
- This stream pushes delta updates only — there is no initial snapshot message. You must initialize your local order book via the REST full orderbook snapshot before applying deltas.
Release Schedule
| Product | Testnet | Mainnet |
|---|---|---|
| Spot | July 6, 2026 | July 16, 2026 |
| Futures (linear & inverse) | Est.July 13, 2026 | not determined |
Push frequency
Linear, inverse & spot:
Full depth data, push frequency: 200ms
Topic:
orderbook.full.{symbol} e.g., orderbook.full.BTCUSDT
u=1)| Scenario | WS payload | REST snapshot | Client action |
|---|---|---|---|
| Service restart | u=1 | u may also reset to 1 | Overwrite local book with snapshot |
| Symbol delist | u=1, b=[], a=[] | Returns empty | Clear local book, mark as unavailable |
| Before pre-market auction | u=1, delta empty | May return empty | Keep book empty, treat as NO_BOOK |
| Auction → continuous trading | u=1, delta empty | Returns valid snapshot | Pull snapshot, then continue with deltas |
| Lot / tick configuration change | u=1, delta can be empty | Snapshot ready when applicable | Clear and re-sync local book |
Response Parameters
| Parameter | Type | Comments |
|---|---|---|
| topic | string | Topic name |
| type | string | Data type. Always delta |
| ts | number | The timestamp (ms) that the system generates the data |
| data | object | Object |
| > s | string | Symbol name |
| > b | array | Bid delta entries. Sorted by price in descending order |
| >> b[0] | string | Bid price |
| >> b[1] | string | Bid size. 0 means this price level should be deleted |
| > a | array | Ask delta entries. Sorted by price in ascending order |
| >> a[0] | string | Ask price |
| >> a[1] | string | Ask size. 0 means this price level should be deleted |
| > u | integer | Update ID
|
| > seq | integer | Cross sequence. Use this to compare across different orderbook levels — a smaller seq means the data was generated earlier |
| cts | number | The timestamp from the matching engine when this orderbook data is produced. It can be correlated with T from public trade channel |
Subscribe Example
Response Example
Full Order Book Synchronization Procedure
Use the REST endpoint to fetch an Order Book (OB) snapshot, then subscribe to OB delta updates via WebSocket to maintain a complete local order book. Both the OB snapshot and OB delta messages include two fields — seq and u — for data matching and sequencing.
seq: The matching engine version number. It is monotonically increasing but not guaranteed to be consecutive — adjacent delta packets for the same symbol may have non-contiguousseqvalues.u: The update ID. It is consecutive — theuvalue of each delta packet increments by one from the previous (u+1). However, when the system restarts or the tick size is adjusted,uresets to1and delta numbering starts over.
- Open a market data WebSocket connection and subscribe to the full-depth order book channel.
- Buffer all deltas received from the stream, recording the
seqanduvalues of the first delta.
- If a discontinuity in
uis detected, clear the buffer and restart buffering. - If
seqis detected to have decreased, discard that delta packet.
- Fetch the full-depth order book snapshot from the REST endpoint.
- Compare the snapshot's
seqanduagainst the buffered deltas:
- If the snapshot's
seqis strictly less than the first buffered delta'sseq, repeat step 3 until a sufficiently recent snapshot is obtained. - In the buffered deltas, discard all deltas whose
seqis less than the snapshot'sseq. - If the snapshot's
seqequals the delta'sseqbut theiruvalues differ, repeat step 3 until a sufficiently recent snapshot is obtained.
- Once the snapshot's
seqanduboth match the delta'sseqandu, initialize the local order book with the snapshot. Set the local order book version to the snapshot'suvalue. - Apply all remaining buffered deltas to the local order book as described below, then continue processing subsequent real-time deltas.
Order Book Update Procedure
For each incoming delta event:
- Validate Event Continuity
- If the event's
uis less than the local order book'su, ignore the event. - If the event's
uis greater than the local order book'su+ 1, one or more events have been missed. In this case:- Discard the local order book.
- Restart the synchronization process from the beginning.
- Under normal circumstances, the next event's u should equal the previous event's u + 1.
- If the event's
u= 1, then restart the sync procedure
- Apply Price Level Updates
For every price level in bids (b) and asks (a):
- If the price level does not exist in the local order book, insert it with the specified quantity.
- If the quantity is zero, remove the price level from the local order book.
- Otherwise, update the quantity of the existing price level.
The REST snapshot endpoint returns a maximum of 10,000 price levels per side. As a result, price levels outside the initial snapshot range are unknown unless they subsequently appear in delta updates.
Therefore, quantities for levels beyond the snapshot depth may not represent the complete state of the order book. For most trading and market analysis use cases, however, the available depth (typically more than 10,000 levels per side) is sufficient to provide an accurate view of market liquidity and trading conditions.