README.md in each order. The README in your order describes the files you received and is authoritative.
How to read these tables
- Timestamps.
timestamp[ms, UTC]columns have millisecond precision in UTC. A file holds the rows whosetimestampfalls on a UTC date from your start date through your end date, inclusive. - Row order. Rows are ordered by
timestamp, except L4 order book changes and order events, which are ordered by(block_number, seq). Apply Lighter L2 changes in(timestamp, sequence)order. - Nulls. A column marked
(nullable)can be null. Every other column always has a value, though a string can be empty and a number can be zero. Nullability is checked against how each column is written, not only against the README. - Sell side. Hyperliquid perpetual trades and liquidations files and Lighter trades files write a sell as
S. The REST API and WebSocket returnAfor the same sell, so mapStoAbefore joining a file to API data. HIP-3, Spot, and HIP-4 files useA. - Spot symbols. Spot files hold the venue’s wire-format coin (
PURR/USDCor@<index>) incoin, not the dashed pair name (HYPE-USDC) used in the Data Catalog and REST paths. - Lighter trades end at the last finalized trade, the same boundary the REST trade routes report as
meta.finalized_through. - File names. The main file for each market and data type is
<symbol>_<data type>_<start>_to_<end>.parquet, with:and/in the symbol written as_. Companion snapshot files are named the same way withl4_checkpointsorl2_checkpointsas the data type; L4 checkpoints come in one file per 7 days of the range.
L2 Order Book (l2_orderbook)
L2 Order Book: Hyperliquid perpetuals
L2 order book snapshots (~1.2 second resolution). Rows are ordered bytimestamp.
bids and asks: JSON text: an array of price levels, best price first. Each level is an object with px (price as a decimal string), sz (total size at that price as a decimal string), and n (number of resting orders at that price).
Example, with illustrative values:
L2 Order Book: Hyperliquid Spot
L2 order book snapshots for Hyperliquid spot pairs. Live coverage from 2026-05-05. Rows are ordered bytimestamp.
bids and asks: JSON text: an array of price levels, best price first. Each level is an object with px (price as a decimal string), sz (total size at that price as a decimal string), and n (number of resting orders at that price).
Example, with illustrative values:
L2 Order Book: HIP-3
L2 order book snapshots for HIP-3 instruments. Rows are ordered bytimestamp.
bids and asks: JSON text: an array of price levels, best price first. Each level is an object with px (price as a decimal string), sz (total size at that price as a decimal string), and n (number of resting orders at that price).
Example, with illustrative values:
L2 Order Book: HIP-4
HIP-4 L2 order book snapshots for outcome markets. Prices are implied probabilities in [0, 1]. Rows are ordered bytimestamp.
bids and asks: JSON text: an array of price levels, best price first. Each level is an object with px (price as a decimal string), sz (total size at that price as a decimal string), and n (number of resting orders at that price).
Example, with illustrative values:
L2 Order Book: Lighter and Lighter on Robinhood Chain
L2 order book changes (event resolution): every individual price-level change. Delivered together with a second file of periodic full snapshots (l2_checkpoints). See Rebuilding order books for how to apply them. Rows are ordered bytimestamp.
L2 Order Book: Lighter and Lighter on Robinhood Chain: l2_checkpoints snapshots file
Periodic full L2 order book snapshots (~1 minute intervals). See Rebuilding order books for how to combine it with the change file. Rows are ordered by timestamp.
bids and asks: JSON text: an array of [price, size] pairs, both numbers, best price first. The snapshot holds every level of the book.
Example, with illustrative values:
Individual-Order Book (L3) (l3_orderbook)
Individual-Order Book (L3): Lighter
L3 order-level orderbook snapshots with individual order IDs and sizes. Rows are ordered bytimestamp.
orders: JSON text: an array with one object per resting order, using short keys.
Example, with illustrative values:
Order-Level Book (L4) (l4_orderbook)
Order-Level Book (L4): Hyperliquid perpetuals
L4 order-level orderbook diffs. Every order placed, modified, or removed from the book with user attribution. Rows are ordered by(block_number, seq).
Order-Level Book (L4): Hyperliquid perpetuals: l4_checkpoints snapshots file
Periodic L4 orderbook snapshots (~14 min intervals). Each data value holds the full order-level book as JSON text. Rows are ordered by timestamp.
data: Plain JSON text, not compressed: [bids, asks]. Each side is an array of [user_address, order] pairs. Within a price level, orders are listed in queue order; sort by price yourself if you need the levels in order. Parse it with any JSON parser.
Other order fields from the venue can appear in
order.
Example, with illustrative values:
Order-Level Book (L4): Hyperliquid Spot
Spot L4 order-level orderbook diffs with user attribution. Every order placed, modified, or removed from the spot book. Live coverage from 2026-03-10. Rows are ordered by(block_number, seq).
Order-Level Book (L4): Hyperliquid Spot: l4_checkpoints snapshots file
Periodic spot L4 orderbook snapshots. Each data field contains the full order-level book as JSON. Live coverage from 2026-03-11. Rows are ordered by timestamp.
data: Plain JSON text, not compressed: [bids, asks]. Each side is an array of [user_address, order] pairs. Within a price level, orders are listed in queue order; sort by price yourself if you need the levels in order. Parse it with any JSON parser.
Other order fields from the venue can appear in
order.
Example, with illustrative values:
Order-Level Book (L4): HIP-3
HIP-3 L4 order-level orderbook diffs with user attribution. Rows are ordered by(block_number, seq).
Order-Level Book (L4): HIP-3: l4_checkpoints snapshots file
Periodic L4 orderbook snapshots (~14 min intervals). Each data value holds the full order-level book as JSON text. Rows are ordered by timestamp.
data: Plain JSON text, not compressed: [bids, asks]. Each side is an array of [user_address, order] pairs. Within a price level, orders are listed in queue order; sort by price yourself if you need the levels in order. Parse it with any JSON parser.
Other order fields from the venue can appear in
order.
Example, with illustrative values:
Order-Level Book (L4): HIP-4
HIP-4 L4 order-level orderbook diffs with user attribution.price is an implied probability in [0, 1]. Rows are ordered by (block_number, seq).
Order-Level Book (L4): HIP-4: l4_checkpoints snapshots file
Periodic HIP-4 L4 orderbook snapshots (~60s intervals). Each data field contains the full order-level book as JSON. Rows are ordered by timestamp.
data: Plain JSON text, not compressed: [bids, asks]. Each side is an array of [user_address, order] pairs. Within a price level, orders are listed in queue order; sort by price yourself if you need the levels in order. Parse it with any JSON parser.
Other order fields from the venue can appear in
order.
Example, with illustrative values:
Order Events / TP/SL (l4_orders)
Order Events / TP/SL: Hyperliquid perpetuals
Complete order lifecycle events: place, fill, cancel, trigger, liquidation. Includes TP/SL, stop orders, and user attribution. Rows are ordered by(block_number, seq).
Order Events / TP/SL: Hyperliquid Spot
Spot order lifecycle events, including rejected orders.status is one of open, filled, canceled, selfTradeCanceled, badAloPxRejected, insufficientSpotBalanceRejected, iocCancelRejected, or minTradeNtlRejected. Live coverage from 2026-03-10. Rows are ordered by (block_number, seq).
Order Events / TP/SL: HIP-3
HIP-3 order lifecycle events with user attribution. Rows are ordered by(block_number, seq).
Order Events / TP/SL: HIP-4
HIP-4 order lifecycle events with user attribution.status values include open, filled, canceled, and insufficientSpotBalanceRejected. Rows are ordered by (block_number, seq).
Trades (trades)
Trades: Hyperliquid perpetuals
Individual trade fills with maker/taker attribution. Each trade produces two fills (one per side).crossed=true indicates the taker side. Rows are ordered by timestamp.
Trades: Hyperliquid Spot
Spot trade fills with maker/taker attribution and full fee breakdown. Each trade produces two fills (one per side).direction is Buy or Sell (spot semantics, not perp-style Open Long / Close Short). fee_token is open-set: USDC, PURR, HYPE, KHYPE, USOL, and other deployer tokens. History starts on 2025-03-22. Rows are ordered by timestamp.
Trades: HIP-3
HIP-3 trade fills with direction, maker/taker attribution, fee breakdown, realized PnL, and tx hash. Each trade produces two fills (one per side). Rows are ordered bytimestamp.
Trades: HIP-4
HIP-4 trade fills for outcome markets.price is an implied probability in [0, 1]. is_settlement_fill=1 marks synthetic settlement-payout fills. Rows are ordered by timestamp.
Trades: Lighter and Lighter on Robinhood Chain
Trade fills with maker/taker attribution. Rows are ordered bytimestamp.
Funding Rates (funding)
Funding Rates: Hyperliquid perpetuals
Funding rate snapshots. Rates are per-hour; multiply by 24 for daily or 8760 for annualized. Rows are ordered bytimestamp.
Funding Rates: HIP-3
HIP-3 funding rate snapshots. Rows are ordered bytimestamp.
Funding Rates: Lighter and Lighter on Robinhood Chain
Funding rate snapshots. Rows are ordered bytimestamp.
Open Interest (oi)
Open Interest: Hyperliquid perpetuals
Open interest snapshots with mark price and volume. Rows are ordered bytimestamp.
Open Interest: HIP-3
HIP-3 open interest snapshots. Rows are ordered bytimestamp.
Open Interest: HIP-4
HIP-4 open interest snapshots.mark_price is an implied probability in [0, 1], NOT a USD price. No oracle_price column (HIP-4 outcomes have no oracle feed). Rows are ordered by timestamp.
Open Interest: Lighter and Lighter on Robinhood Chain
Open interest snapshots. Rows are ordered bytimestamp.
Liquidations (liquidations)
Liquidations: Hyperliquid perpetuals
Individual liquidation events with user attribution. Rows are ordered bytimestamp.
Liquidations: HIP-3
HIP-3 liquidation events. Rows are ordered bytimestamp.
Rebuilding order books
An L4 order book export and a Lighter L2 order book export each come as a file of changes and a file of snapshots. Both cover the same UTC dates as your order: nothing from before your start date is included. So the first moment you can rebuild is the first usable snapshot in the files, not 00:00 UTC on your start date. To rebuild from a given time, include enough earlier history in your order to contain a usable snapshot before that time.L4 order books
This applies to Hyperliquid perpetuals, Spot, HIP-3, and HIP-4. Checkpoint files come in one file per 7 days of your range; a window with no checkpoints has no file.- Pick a checkpoint. Use one whose
last_block_numberis greater than 0 and whosedatadoes not contain the text_backfilled. Skip any other checkpoint: a 0 means the checkpoint has no block number to start from, and_backfilledmarks a checkpoint that was rebuilt later rather than recorded. - Load its book from
data. - Apply changes in
(block_number, seq)order, starting with the first change whoseblock_numberis greater than the checkpoint’slast_block_number. Changes in that block or earlier are already in the checkpoint.newplaces an order of sizenew_size,updatesets its remaining size tonew_size, andremovedeletes it.
timestamp is when it was written, which is after the block it reflects, so changes with an earlier timestamp can still come after it. Each change carries the order’s full new size, so applying a change the checkpoint already reflects does no harm, but skipping one leaves the book wrong.
Checkpoint block numbers are exact from 2026-06-07 02:21 UTC. Earlier ones were filled in afterwards. Those that could be repaired are at or below the true block, which is safe; the rest may be above it, which skips changes. The files do not say which is which, so when you start from a checkpoint recorded before 2026-06-07 02:21 UTC, check the rebuilt book against the next checkpoint before relying on it.
Some new orders join their price level ahead of orders already waiting there. The change file does not record that position, so after a rebuild the order of orders within a level can differ from the venue’s queue. Prices and sizes are exact.
Lighter L2 order books
This applies to Lighter and Lighter on Robinhood Chain. Thel2_checkpoints file holds a full-book snapshot about once a minute for each market.
- Load a snapshot from
bidsandasks. - Apply the changes whose
timestampis after the snapshot’stimestamp, in(timestamp, sequence)order. Each change sets a price level’s total size; a size of 0 removes the level.