Name the depth and record type your job needs before you choose an order-book route: L2 price levels, Lighter L3 individual orders, Hyperliquid L4 per-order book state, book diffs, history, reconstruction, or separate order-lifecycle records. Each answers a different question, so keep them separate in your schemas, exports, and code.
Depth model
Where to start
Common mistakes
Not every order-book dataset is an L2 book. Order-event records are not L2 snapshots and not L4 resting-book state, so do not merge them into either. Individual-order depth is L4 on Hyperliquid markets and L3 on Lighter; neither contract carries over to the other venue. L4 is not the right default when a top-of-book or aggregated book answers the question.
Label downstream tables with the venue and market type, symbol, schema key, time window, route or channel, and request ID. That keeps later analysis from mixing aggregated books with lifecycle events.
Start with the smallest depth
Start with the smallest depth that answers the question. Move to L3 or L4 when individual resting orders matter, to diffs or replay when sequence matters, and to order-history or order-flow routes when lifecycle state matters.
Before you choose, decide how the job keeps state (a snapshot, a historical page, a diff stream, a replay, or a reconstructed book) and how it recovers from a gap (a fresh snapshot, a checkpoint, a replay rerun, or stopping).
Next step
Compare the L2, L3, and L4 routes and their parameters on Order books. Last modified on October 6, 2026