Skip to main content
An order-book request is incomplete until it names the required depth and record type: L2 price levels, L3 individual orders, L4 per-order book state, book diffs, history, reconstruction, or separate order-lifecycle records. Order-book depth is not one product choice. L2, L3, L4, diffs, order events, and history answer different questions and should stay separate in docs, schemas, exports, and code.

Depth Model

Route Selection

Common Mistakes

Do not call every order-book dataset an L2 book. Do not merge order-event records into L2 snapshots or treat them as L4 resting-book state. Individual-order depth is L4 on Hyperliquid families and L3 on Lighter; do not transfer either contract to another family. Do not use L4 as the default if a top-of-book or aggregated book is enough. Downstream tables should include venue family, symbol, schema key, time window, route or channel, and request ID. That metadata prevents later analysis from mixing aggregated books with lifecycle events.

Depth Selection Checklist

Before choosing an order-book route, capture the depth checklist.

Implementation Rule

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.
Last modified on August 13, 2026