Hyperliquid L4 Order Book Snapshots Data
Hyperliquid L4 order book data is the whole HyperCore book at one block height as individual resting orders: each order's id, price, size and owning address.

An L4 order book snapshot on Hyperliquid is the entire order book with full information about the orders for each level, taken at one block height. One record is one market at that height: the height, the block time, the market, and the bid and ask sides in book priority. Each entry is an order id, a price, a size, and the address the order belongs to.
What one record represents
Hyperliquid defines an L4 book snapshot as “the entire order book with full information about the orders for each level”, computed by a node from an abci state. It is the book without aggregation: the individual resting orders rather than price levels.
One record is one market at one block height: height, block_time, market and the bids and asks sides. Each entry is oid, the unique order id; px, the order price; sz, the order size; and user, the address the order belongs to. Orders within a side are listed in book priority, price and then queue position.
Order priority inside a price level
HyperCore matches in price-time priority, so a position within a price level is a queue position. Hyperliquid states the rule for its own snapshot: “Orders in the snapshot are sorted in time-order at the same price level.”
Rebuilding the book between snapshots
Hyperliquid’s own framing is that a snapshot is a checkpoint you apply the order stream to. Order book diffs carry every mutation to the per-order book, so replaying them in block order on top of an L4 snapshot rebuilds the book at any height. Order status updates carry every transition an order goes through, which is what tells a removal apart from a fill. Summing a side by price gives the L2 order book, and the executions that emptied those orders are Hyperliquid fills.
Delivery
Available history is delivered as files to your own bucket. Fills, funding payments and position snapshots are also available as a Snowflake datashare and real time via Kafka Streaming, and they carry the same block height, so they join to a snapshot without a translation layer.
Hyperliquid fields SonarX indexes
| Hyperliquid field | What it is | SonarX indexes it |
|---|---|---|
height | the block height of the snapshot | ✓ |
block_time | the block timestamp | ✓ |
market | the market symbol, for example BTC; a builder-deployed perp carries the dex name as a prefix | ✓ |
bids | the bid side, listed in book priority | ✓ |
asks | the ask side, listed in book priority | ✓ |
oid | the order id, a u64 | ✓ |
px | the order's price | ✓ |
sz | the resting size of the order | ✓ |
user | the address the order belongs to | ✓ |
Field definitions and mechanics: Hyperliquid's own documentation. Chain overview: indexed Hyperliquid blockchain data.
Frequently asked questions
What is an L4 order book snapshot on Hyperliquid?
Hyperliquid defines an L4 book snapshot as the entire order book with full information about the orders for each level. A node computes one from an abci state, and Hyperliquid frames it as a checkpoint upon which the order statuses stream may be applied, allowing users to stream an L4 book in realtime.
How is L4 different from L2 order book data?
The difference is aggregation. An L2 level is the book collapsed to one entry per distinct price, carrying the total size resting there and the number of orders making it up. L4 keeps the individual orders: each carries its own order id, price, size and the address it belongs to, so queue position and ownership survive.
What does one L4 snapshot record contain?
One L4 snapshot record is one market at one block height. It carries the height, the block time, the market, and the bid and ask sides. Each entry is a unique order id, an order price, an order size and the address the order belongs to.
Can you see who owns each order in a Hyperliquid L4 snapshot?
Every entry carries a user field, the address the order belongs to, alongside the order id, price and size. That is what separates L4 from L2 data, where the orders at one price sum into a single level with a count and no address survives the aggregation at all.
How do L4 snapshots and book diffs work together?
Hyperliquid frames an L4 snapshot as a checkpoint upon which the order stream may be applied. Take the snapshot as a starting state and replay the per-block order book diffs on top of it in block order, and you have the per-order book at every height between snapshots.
How are orders sorted inside a Hyperliquid price level?
Orders sit in time order inside a price level. Hyperliquid documents that orders in the snapshot are sorted in time-order at the same price level, and that trigger orders come at the end and can be differentiated with isTrigger. HyperCore matches in price-time priority, so a position within a level is a queue position.
Get started
Query Hyperliquid l4 order book snapshots data
Tell us the delivery target and the history depth you need, and we scope the Hyperliquid share against it.
Other Hyperliquid datasets

Hyperliquid L2 Order Book Snapshots Data
Hyperliquid L2 order book data is HyperCore's book collapsed to price levels at one block height: every price on each side, the resting size, the order count.

Hyperliquid Order Book Diffs Data
Hyperliquid order book diffs carry every mutation to HyperCore's per-order book, one block at a time: a new resting order, a resize, or a removal.

Hyperliquid Order Status Updates Data
Hyperliquid order status data records every transition an order goes through on HyperCore, from placement to fill, cancel or reject, with the full order object.

Hyperliquid Fills Data
Trades executed on HyperCore, per user and per market: price, size, side, direction, the position before the fill, realised PnL on the closed part, and fees.