Skip to main content
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:
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: 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:

Trade format

Each trade record includes:

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.