Get access

l2_SOLUSDT

SOL order-book diffs: first_id/final_id, levels, snapshots · core · 2026-08-01 — 2026-08-28 (28 days)

Schema

ColumnTypeMeaning
timestamp_msBIGINT Exchange event time (`E`), ms UTC. Snapshot rows carry the REST response time.
price_intBIGINT Price level × 10^price_decimals.
volume_intBIGINT New absolute quantity at the level × 10^vol_decimals; 0 removes the level.
sideTINYINT 0 = bid, 1 = ask.
exchangeVARCHAR Always `binance` (spot).
symbolVARCHAR Instrument, e.g. `BTC/USDT`.
recv_msBIGINT Local receive time, ms UTC.
epochBIGINT WebSocket session number.
ingest_seqBIGINT Arrival counter; all levels of one frame share it.
first_idBIGINT Binance `U` — first update id in the frame. Snapshot rows: lastUpdateId.
final_idBIGINT Binance `u` — last update id in the frame. Must equal previous final_id + 1 for continuity.
prev_final_idBIGINT
gapTINYINT 1 on the first frame after a detected break, else 0.
is_snapshotBIGINT 1 = full-book reference (REST depth), 0 = incremental diff.
gap_reasonVARCHAR Why gap = 1, or `anchor` for scheduled snapshots; empty otherwise.

Conventions shared by all streams — UTC milliseconds, integer prices, what side means where, how gaps are marked and how to rebuild the book — are in the data dictionary. The same text is returned by GET /v1/schema/l2_SOLUSDT and the MCP tool get_schema.

Sample rows (demo hour)

timestamp_msprice_intvolume_intsideexchangesymbolrecv_msepochingest_seqfirst_idfinal_idgapis_snapshotgap_reason
178701120019576062332094000001binanceSOL/USDT178701120023084031276953297402057992974020580400
178701120019575991106351000000binanceSOL/USDT178701120023084031276953297402057992974020580400
17870112001957602171942000001binanceSOL/USDT178701120023084031276953297402057992974020580400

Work with this stream in the SQL console and the backtest runner — the data stays with us, the results go to you. Get access