Skip to main content

Documentation Index

Fetch the complete documentation index at: https://hypernode-docs.polynode.dev/llms.txt

Use this file to discover all available pages before exploring further.

HyperLiquid provides historical data through S3 archive buckets and maintains several indexer tables for querying historical events.

S3 Archive Buckets

Historical data is available through AWS S3 buckets using requester-pays access:
BucketContent
s3://hyperliquid-archive/market_data/L2 book snapshots and asset contexts. Updated monthly, LZ4 compressed.
s3://hl-mainnet-node-data/node_fills_by_blockCurrent fills stream organized by block
s3://hl-mainnet-node-data/explorer_blocksExplorer block data
s3://hl-mainnet-node-data/replica_cmdsL1 transaction blocks (raw committed actions)
S3 access uses requester-pays, meaning the downloader pays for data transfer costs. The market_data bucket contains monthly updates with LZ4-compressed snapshots.

Data volume

The L1 produces approximately 100 GB per day of raw data across all output types. State snapshots are taken every 10,000 blocks.

Indexer Tables

The L1 indexer maintains several tables for historical event queries:
TableDescription
UserFillsPer-user trade fill history
AssetTradesPer-asset trade history
FundingHistoryHistorical funding rate payments
AssetCtxHistoryHistorical asset context (OI, mark price, funding)
OrderHistoryFull order lifecycle history
UserTwapSliceFillsTWAP order slice execution history
BoleInterestBorrow/lend interest accrual events
LegacyRewardHistoryHistorical reward distributions
ExplorerUserTxsExplorer-indexed user transactions
These tables are accessible through the info API endpoints (userFills, userFillsByTime, userFunding, historicalOrders, userTwapSliceFills, etc.)

State Snapshots

Full exchange state snapshots are serialized in MessagePack format. These snapshots capture the complete exchange state at a point in time, including:
  • All order books (perp and spot)
  • User positions and balances
  • Funding state
  • Bridge state
  • Governance/staking state
  • EVM state
Non-validator nodes can request state snapshots to bootstrap without replaying the entire history.

Data Formats

L1 Data Schemas

The L1 node produces several data types per block:
OutputFormatDescription
node_tradesJSONExecuted trades with full side info
node_fillsJSONFill events with user attribution
node_order_statusesJSONOrder lifecycle events (30+ status types)
node_raw_book_diffsJSONOrder book mutations (new/update/remove)
node_twap_statusesJSONTWAP order progress updates
misc_eventsJSONDeposits, delegations, withdrawals, rewards, funding
hip3_oracle_updatesJSONHIP-3 deployer oracle price updates

Trade format

Each trade record includes:
Trade:
  coin        — asset identifier
  side        — buy or sell
  time        — execution timestamp
  px          — execution price
  sz          — execution size
  hash        — transaction hash
  side_info   — per-side details (user, start_pos, oid, twap_id, cloid)

Order status format

Order lifecycle events include the full order struct plus a status field with 30+ possible values covering placement, fills, cancellations, and rejections.
Historical data volumes are substantial. The fills stream alone can produce gigabytes per day during active markets. Plan storage and processing capacity accordingly.