Hyperliquid Data Catalog
Compare Hyperliquid node-written feeds and derived market data, then open each data explainer, live method, or historical access path.
This catalog maps what a Hyperliquid node writes to disk to the live and generated views exposed through Dwellir. Dataset and view names link to focused explainers with access paths, payload samples, file layouts, and field notes.
Node-written data
These are raw protocol records emitted to files by a Hyperliquid node. Live and retained gRPC availability varies by feed; the S3 Bucket is the access path for archival files.
| Node source | Purpose | Live access | Archival data |
|---|---|---|---|
replica_cmds | Hyperliquid blocks, signed actions, responses, and consensus metadata | StreamBlocks, GetBlock | S3 Bucket |
node_fills_by_block | Per-account execution records grouped by sequential block number | StreamFills, GetFills, hl_getBatchBlocks | S3 Bucket, tick data, and indexed fills |
node_order_statuses_by_block | Order lifecycle events, including opens, fills, cancellations, and rejections | StreamOrderStatuses, GetOrderStatuses | S3 Bucket and indexed order history |
node_raw_book_diffs_by_block | Native order-level additions, updates, and removals | StreamRawBookDiffs, GetRawBookDiffs | S3 Bucket |
misc_events_by_block | Miscellaneous protocol events | StreamMiscEvents, GetMiscEvents | S3 Bucket |
node_twap_statuses_by_block | TWAP lifecycle events | StreamTwapStatuses, GetTwapStatuses | S3 Bucket |
periodic_abci_states | Periodic RMP state dumps that can seed generated order-book snapshots | - | S3 Bucket |
File families
replica_cmdsuses compressed JSONL chunks. A single file can contain multiple blocks; the block explainer documents chunk names and line indexing.- Most
*_by_blockfeeds use a shared JSON envelope with one array of feed-specific events per sequential block number. periodic_abci_statesuses binary MessagePack files (.rmpor.rmp.lz4) and is available as archival data rather than a direct gRPC stream.
Shared *_by_block envelope
Most node-written *_by_block datasets store feed-specific events in the same envelope:
{
"local_time": "2026-07-02T11:10:49.483839100",
"block_time": "2026-07-02T11:10:47.023075863",
"block_number": 1057659853,
"events": []
}local_time is when the node wrote the record, block_time is the consensus timestamp, block_number is the sequential block position, and events contains dataset-specific values. An empty array means that source envelope has no matching events; it is not a transport heartbeat.
The sequential block_number in these envelopes and abci_block.round in replica_cmds are different values. Consensus rounds can skip and do not advance 1:1 with block height.
Order books and derived data
V3 market streams expose typed live views without historical replay. Use the Hyperliquid Index or archival data when you need historical coverage.
Order-book reconstruction requires a snapshot or another known state seed followed by ordered diffs. Raw diffs alone are insufficient. For trades, a match can contain multiple makers, so group fills by (coin, tid) because tid is not globally unique.
Practical guides
- Connect to the Order Book WebSocket API for a complete live L2/L4 integration walkthrough.
- Track Hyperliquid whales using fills, trades, and account data.
- Monitor Hyperliquid funding rates with live and historical market data.
- Export Hyperliquid OHLCV data to CSV for analysis and backtesting.