px, sz, n), not the individual orders themselves.
L2 is the shape of the book. Reach for it when you need spreads, depth charts, a top-of-book monitor, or a light historical window, and step up to L3 or L4 only when individual orders or full lifecycle matter. This page covers the two L2 surfaces: native venue snapshots capped at 20 levels per side, and the full-depth aggregated L2 route family derived from L4 on Hyperliquid core and HIP-3.
Get an L2 snapshot
Pick your venue. The path and symbol format change per family.- Hyperliquid
- Spot
- HIP-3
- HIP-4
- Lighter
| Depth | Route |
|---|---|
| Full-depth aggregated L2 from L4 | /v1/hyperliquid/orderbook/{symbol}/l2, /l2/history, /l2/diffs |
| Native L2 snapshot or history (20 levels) | /v1/hyperliquid/orderbook/{symbol}, /v1/hyperliquid/orderbook/{symbol}/history |
BTC and ETH. Use the /l2 routes for Build 200-level or Pro full-depth aggregated L2 from March 10, 2026 onward.Native L2 versus full-depth L2
Hyperliquid core and HIP-3 expose two L2 surfaces, and they answer different questions:| Job | Route | Notes |
|---|---|---|
| 200-level or full-depth aggregated L2 | /v1/hyperliquid/orderbook/{symbol}/l2 or the HIP-3 equivalent | Derived from L4, with March 10, 2026+ coverage |
| Native source snapshot or older top-book windows | /v1/hyperliquid/orderbook/{symbol} and /history, or the HIP-3 equivalents | Mirrors the venue snapshot; caps at 20 levels per side |
depth=200 on /v1/hyperliquid/orderbook/BTC/history still returns at most 20 levels. For 200-level or full-depth aggregated L2 on those families, use the /l2 route family. Spot, HIP-4, and Lighter serve native L2 depth and are tier-gated directly.
Request parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
symbol | path | string | Yes | Trading pair symbol, e.g. BTC |
timestamp | query | integer (ms) | No | Snapshot routes only; Unix milliseconds; omit for the latest snapshot |
start, end | query | integer (ms) | No | History and diff routes; Unix-millisecond window bounds |
depth | query | integer | No | Snapshot depth where documented. Native Hyperliquid/HIP-3 L2 caps at 20; full-depth /l2 snapshots are plan-capped (Build 200, Pro/Enterprise full); Lighter L2 is tier-gated directly |
limit | query | integer | No | Max rows or checkpoints on history/diff routes |
cursor | query | string/integer | No | Continuation token from meta.next_cursor |
/l2/history routes return the plan-capped checkpoint depth and currently do not take a per-request depth override. Ask for a bounded start/end window and paginate with cursor.
Example response
The L2 snapshot returns the same envelope across venues: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 a level; L4 lists each one with its oid and user_address. The /l2 routes also return bid_levels, ask_levels, total_bid_size, and total_ask_size. Full field meanings live in the field dictionary, and the Endpoint Reference carries the exact types.
Stream it live
Every venue streams the L2 book. Subscribe toorderbook on Hyperliquid core; Spot, HIP-3, and HIP-4 use prefixed variants (spot_orderbook, hip3_orderbook, and so on), and Lighter adds lighter_orderbook.
Export in bulk
L2 books export as thel2_orderbook schema ($6/GB, $10 minimum), delivered as Parquet with ZSTD compression. Keep L2, L3, and L4 in separate tables. Build a selection in the Data Catalog; columns and coverage keys are on Export Schemas.
Other depths
L3 order book
Individual orders on Lighter, order-level detail without full lifecycle.
L4 order book
Every resting order with its
oid and user_address, plus diffs and reconstruction.