Skip to main content
Order-book work starts with two decisions: which venue family, and how deep. L2 is aggregated price levels, L3 is individual orders, L4 is the full order-level book you can reconstruct. Different datasets, not one orderbook blob. This page covers all of them: full-depth L2 routes where they exist, native 20-level L2 source snapshots, then the L4 order-level book and reconstruction below.

Get an L2 snapshot

Pick your venue. The path and symbol format change. Lighter also exposes an L3 individual-order book where Hyperliquid exposes L4.
Plain perp symbols such as BTC and ETH. Use the /l2 routes for full-depth aggregated L2 (request levels via depth) from March 10, 2026 onward.
For Hyperliquid core and HIP-3, use this route choice: Hyperliquid and HIP-3 native L2 routes mirror Hyperliquid’s source snapshot and top out at 20 levels per side. A request like depth=200 on /v1/hyperliquid/orderbook/BTC/history still returns at most 20 levels. For 200-level or full-depth aggregated Hyperliquid/HIP-3 L2, use the /l2 route family.

Request parameters

Use /history with start and end for a past window. timestamp is for snapshot-at-time routes, not history routes. The L2 snapshot returns the same envelope across venues:

Response fields

Responses use the { success, data, meta } envelope; the fields below are data. A price level is px (price), sz (total size), and n (order count). px, sz, mid_price, spread, and spread_bps are decimal strings, so parse them as decimals, not floats. n aggregates the orders at that level; L4 lists each one with its oid and user_address. Full field meanings live in the field dictionary.

Depth: L2 vs L3 vs L4

L2Aggregated levels

Price levels with total size and order count (px, sz, n). The shape of the book.

L3Individual orders

Each order at a level, on Lighter. Order-level detail without full lifecycle.

L4Every resting order

Every order with its oid and user_address, plus diffs to reconstruct the book.

Each grain has a focused page with its routes, parameters, example, and export schema:

L2 order book

Aggregated price-level depth: native venue snapshots and full-depth aggregated L2 on Hyperliquid core and HIP-3.

L3 order book

Order-level depth on Lighter: every resting order with its order index and owner account index.

L4 order book

Full order-level book on Hyperliquid families: every order with oid and user_address, plus diffs and reconstruction.
For file exports, use Export schemas. The Data Catalog keys keep L2, L3, L4, and order events separate.

Full-depth L2 from L4

Hyperliquid core and HIP-3 have a primary full-depth L2 route family derived from L4, with March 10, 2026+ coverage: The /l2/history routes return the checkpoint’s stored full depth and currently do not take a per-request depth override. Ask for a bounded start/end window and paginate with cursor.

L4 order-level book

L4 is the whole book, order by order: every resting order with its oid and user_address. It is the most detailed market data 0xArchive serves and carries the fields needed for deterministic order-level reconstruction. The L4 routes are in the venue switch above (/orderbook/{symbol}/l4, /l4/diffs, /l4/history).
bids and asks are truncated above. That real snapshot carried 24,501 bids and 18,101 asks: the entire resting book, each order with its own oid and user_address.

L4 response fields

price and size are numbers in L4 payloads, while L2/L3 return px/sz as decimal strings, so check types per route.

Reconstruct from diffs

A snapshot is a checkpoint. To follow the book over time, take an l4 checkpoint, then apply l4/diffs in order (honoring the optional insert_before field on new-order diffs; see L4 order books), or pull l4/history for a window. diffs_applied: 0 means a clean checkpoint; a higher number means it was rolled forward from the last one. When sequence and gap handling matter, move to WebSocket L4 order book and WebSocket replay, or let SDK reconstruction hold local book state for you. A current L2 snapshot is fine for inspecting the book or a spread. It is not the same product as a replayable L4 history window. If you are evaluating a provider, that distinction is the one to push on: what depth, which venue family, what timestamp semantics, and whether the historical book can be reconstructed the same way twice.

Stream it live

Every venue streams the book. Subscribe to orderbook for L2 and l4_diffs/l4_orders for order-level updates on Hyperliquid core; Spot, HIP-3, and HIP-4 use prefixed variants (spot_orderbook, hip3_l4_diffs, and so on), and Lighter adds lighter_l3_orderbook. For sequence and gap handling, see WebSocket L4 order book and WebSocket replay.
The full channel matrix is on WebSocket channels.

Export in bulk

Order books export at three depths, delivered as Parquet with ZSTD compression: l2_orderbook ($6/GB, $10 minimum), l3_orderbook ($6/GB, $10 minimum), and l4_orderbook ($8/GB, $25 minimum). Keep L2, L3, and L4 in separate tables. Build a selection in the Data catalog; columns and coverage keys are on Export schemas.

Plans and limits

Full-depth L2 is on every tier

Every tier, including Free, gets the full order-book catalog: native venue L2, full-depth aggregated L2 (snapshots, checkpoints, and diffs), L4 order-level reconstruction and diffs, order flow, and TP/SL, plus trades, candles, funding, open interest, and liquidations. Tiers differ only on credits, rate limits, concurrency, WebSocket scale, and replay speed.

Upgrade to Pro →

Next

Use Order history and Order flow for the lifecycle around the book, WebSocket L4 order book when sequence matters, Example responses for more payload shapes, or Data quality before any long historical window.
Last modified on July 27, 2026