Skip to main content
L3 is the order-level book on Lighter: up to 250 resting orders per side shown individually, each with its order index, owner account index, price, and remaining size, rather than the aggregated price levels of L2. Lighter exposes individual orders where Hyperliquid families expose L4. The two are different reconstructions, so a Lighter L3 route is not interchangeable with a Hyperliquid L4 route. L3 answers queue position, per-order size, and order-level microstructure on Lighter; L2 is enough when aggregated levels answer the question.

Get an L3 snapshot

L3 is served only on Lighter. Find symbols on /v1/lighter/instruments.
For aggregated price-level depth on Lighter, use the L2 routes (/v1/lighter/orderbook/{symbol} and /history) covered on L2 order book. L3 is order-level; L2 is the levels those orders aggregate into.

Request parameters

The snapshot route returns one book object in data. The history route returns an array of snapshot objects in data; L3 data begins March 5, 2026, and each snapshot can contain up to 250 resting orders per side. The account filter uses numeric Lighter account indexes, not wallet addresses. Begin with one bounded start/end window, paginate with cursor, and store meta.request_id per page. Check a long window with Data quality before relying on it.

Example response

The L3 snapshot returns the { success, data, meta } envelope. data is a single book object, not an array. Each entry under data.orders is one resting order:
Per-order fields include order_index and owner_account_index as numeric Lighter indexes, side as the string bid or ask, and price, remaining_size, and original_size as JSON numbers. These are Lighter indexes, not a wallet address or raw order ID; do not treat them like the user_address wallet field on Hyperliquid L4. Alongside orders, the book object carries bid_count, ask_count, total_bid_size, total_ask_size, mid_price, spread, and spread_bps. Before binding typed models, capture a live response and pin the order_index, owner_account_index, price, and size fields you depend on. The Reference carries the route metadata, and full field meanings live in the field dictionary.

Access

Each venue’s start date, WebSocket channels, and page limit come from GET /v1/capabilities, followed by the SDK, CLI, and MCP names for the same data. The start date is the first served row on that venue; exact starts vary by market, so check /v1/symbols for a single symbol. Send 0xArchive-Version: 2026-10-01 for the current response contract; see API conventions.

Replay it over WebSocket

Lighter current L3 snapshots use REST, while lighter_l3_orderbook supports historical WebSocket replay but not live subscriptions through the 0xArchive WebSocket. Historical data is also available through REST and exports. For live Lighter L2 depth, subscribe to lighter_orderbook; see Lighter WebSocket channels.
This example window is from July 2026, so it needs a paid plan; Free replays reach the most recent 30 days. The full channel matrix is on WebSocket channels.

Export in bulk

L3 books export as the l3_orderbook schema ($3/GB, $5 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.

Next step

For the rest of Lighter’s routes, continue to Lighter REST API.
Last modified on October 6, 2026