Skip to main content

Trade Data - Historical Trading Information

Available Historical Data#

Dwellir provides comprehensive access to Hyperliquid's historical data archives, including both trade fills and complete blockchain state data.

Trade Data Archives#

Hyperliquid's trade data format has evolved through three distinct phases:

1. Node Trades (March 22, 2025 - May 25, 2025)#

Early phase trade records with basic execution information and side details.

2. Node Fills (May 25, 2025 - July 27, 2025)#

Enhanced fill records with PnL tracking and fee information.

3. Node Fills by Block (July 27, 2025 - Current)#

Current format organizing fills by block with complete transaction context.

Replica Commands Data#

Complete block data history is available from January 2025 onwards.

Available from: January 2025 - Current

This archive contains the full replica_cmds data format, which includes:

  • Complete block data with headers (height, timestamp, proposer)
  • All transaction bundles and signed actions
  • Execution responses and order statuses
  • State changes and consensus data
  • Validator signatures

The replica commands format provides the most comprehensive view of Hyperliquid blockchain activity, identical to the data streamed via StreamBlocks gRPC.

Trade Data Format Descriptions#

Node Trades Format#

The node_trades format captures basic trade execution data:

{
"coin": "PURR",
"side": "B",
"time": "2025-03-22T23:00:00.000984711",
"px": "0.12928",
"sz": "1547.0",
"hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"trade_dir_override": "Na",
"side_info": [
{
"user": "0xa68c548f3acd23a7fe3e867cc47f302559794419",
"start_pos": "2462968.0",
"oid": 81305166697,
"twap_id": 568722,
"cloid": null
},
{
"user": "0xecb63caa47c7c4e77f60f1ce858cf28dc2b82b00",
"start_pos": "-15493993.0",
"oid": 81305141429,
"twap_id": null,
"cloid": "0x6640b7cba22f65c630e7fb18b18819b6"
}
]
}

Field Descriptions:

  • coin: Trading pair symbol
  • side: Buy (B) or Sell (A)
  • time: Execution timestamp (ISO 8601)
  • px: Execution price
  • sz: Trade size
  • hash: Transaction hash
  • trade_dir_override: Direction override flag
  • side_info: Array containing details for both sides of the trade
    • user: Wallet address
    • start_pos: Position before trade
    • oid: Order ID
    • twap_id: TWAP order ID (if applicable)
    • cloid: Client order ID

Node Fills Format#

The node_fills format includes comprehensive fill information with PnL calculations:

[
"0xe3b6e3443c8f2080704e7421bad9340f13950acb",
{
"coin": "ETH",
"px": "2511.2",
"sz": "0.486",
"side": "B",
"time": 1748183573109,
"startPosition": "-946.9372",
"dir": "Close Short",
"closedPnl": "-2.5515",
"hash": "0x71fe8c1aa48f3a43971504242beb2502023600245b77a4f664b49f10a236d9e2",
"oid": 97128733943,
"crossed": false,
"fee": "-0.036613",
"tid": 995829841758483,
"cloid": "0x00000000000000002bca2ffb27459396",
"feeToken": "USDC"
}
]

Field Descriptions:

  • First element: User wallet address
  • Fill object:
    • coin: Trading pair
    • px: Fill price
    • sz: Fill size
    • side: Buy (B) or Ask (A)
    • time: Unix timestamp (milliseconds)
    • startPosition: Position before fill
    • dir: Trade direction (Open Long, Close Short, etc.)
    • closedPnl: Realized PnL from closed positions
    • hash: Transaction hash
    • oid: Order ID
    • crossed: Whether order crossed the spread
    • fee: Trading fee (negative for maker, positive for taker)
    • tid: Trade ID
    • cloid: Client order ID
    • feeToken: Currency used for fees

Node Fills by Block Format#

The current node_fills_by_block format organizes fills within block context:

{
"local_time": "2025-07-27T08:50:10.334741319",
"block_time": "2025-07-27T08:50:10.273720809",
"block_number": 676607012,
"events": [
[
"0x7839e2f2c375dd2935193f2736167514efff9916",
{
"coin": "BTC",
"px": "118136.0",
"sz": "0.00009",
"side": "B",
"time": 1753606210273,
"startPosition": "-1.41864",
"dir": "Close Short",
"closedPnl": "-0.003753",
"hash": "0xe7822040155eaa2e737e042854342401120052bbf063906ce8c8f3babe853a79",
"oid": 121670079265,
"crossed": false,
"fee": "-0.000212",
"tid": 161270588369408,
"cloid": "0x09367b9f8541c581f95b02aaf05f1508",
"feeToken": "USDC",
"builder": "0x49ae63056b3a0be0b166813ee687309ab653c07c",
"builderFee": "0.005528"
}
]
]
}

Field Descriptions:

  • local_time: Local server timestamp
  • block_time: Blockchain block timestamp
  • block_number: Block height
  • events: Array of fill events in the block
    • Each event contains user address and fill object
    • Additional fields vs. node_fills:
      • builder: Block builder address (if applicable)
      • builderFee: Fee paid to block builder

Replica Commands Format (BlockData)#

The replica_cmds format provides complete blockchain state data. This is the same format streamed by the StreamBlocks gRPC method.

{
"abci_block": {
"time": "2025-09-08T06:41:57.997372546",
"round": 992814678,
"parent_round": 992814677,
"proposer": "0x5ac99df645f3414876c816caa18b2d234024b487",
"hardfork": {
"version": 57,
"round": 990500929
},
"signed_action_bundles": [
[
"0xb4b1f5a9c233f9d90fd24b9961fd12708b36cc3d56f8fda47f32b667ee8d1227",
{
"signed_actions": [
{
"signature": {
"r": "0xd931f13565ae66c3bc41a05da4180bb795dbd9ed2d365efaf639fd23b3774ac6",
"s": "0x4a7a0534bf0a4238dfe404a88d335ab4c9b8222909100d773635e328d2ab864c",
"v": 27
},
"action": {
"type": "order",
"orders": [{
"a": 170,
"b": true,
"p": "0.038385",
"s": "1514",
"r": false,
"t": { "limit": { "tif": "Ioc" } },
"c": "0x7192c49bcadb32d394e38617ea99cc09"
}]
},
"nonce": 1757313597362
}
],
"broadcaster": "0x67e451964e0421f6e7d07be784f35c530667c2b3",
"broadcaster_nonce": 1757313597367
}
]
]
},
"resps": {
"Full": [
[
"0xb4b1f5a9c233f9d90fd24b9961fd12708b36cc3d56f8fda47f32b667ee8d1227",
[
{
"user": "0xecb63caa47c7c4e77f60f1ce858cf28dc2b82b00",
"res": {
"status": "ok",
"response": {
"type": "order",
"data": {
"statuses": [{
"filled": {
"totalSz": "1514.0",
"avgPx": "0.038385",
"oid": 156190414943,
"cloid": "0x7192c49bcadb32d394e38617ea99cc09"
}
}]
}
}
}
}
]
]
]
}
}

Top-Level Fields:

  • abci_block: Block header and transaction data

    • time: ISO-8601 timestamp with nanosecond precision
    • round: Current block number (height)
    • parent_round: Previous block number
    • proposer: Block proposer address (40 hex chars)
    • hardfork: Protocol version information
    • signed_action_bundles: Array of transaction bundles
  • resps: Execution responses for all actions

    • Full: Array matching structure of signed_action_bundles
    • Each response includes user address and result status

Action Types:

  • order: Place limit/market orders
  • cancel: Cancel orders by order ID
  • cancelByCloid: Cancel orders by client order ID
  • batchModify: Modify multiple orders
  • evmRawTx: Execute EVM transactions

Use Cases for Replica Commands Data:

  • Complete Blockchain Replay: Reconstruct full blockchain state from genesis
  • Transaction Analysis: Analyze all transaction types and execution patterns
  • State Verification: Verify blockchain state transitions
  • Advanced Analytics: Build comprehensive trading and execution analytics
  • Order Book Reconstruction: Rebuild historical order book states
  • Protocol Research: Study consensus behavior and validator activity

For detailed field descriptions and implementation examples, see the StreamBlocks documentation.

Accessing Data#

For pre-processed and indexed historical data optimized for queries and analysis, Dwellir provides custom data solutions.

Available Data Archives#

Dwellir provides access to multiple historical data formats:

Trade Fill Archives#

  • Node Trades (March 22 - May 25, 2025)
  • Node Fills (May 25 - July 27, 2025)
  • Node Fills by Block (July 27, 2025 - Current)

Replica Commands Archive#

  • Complete BlockData (January 2025 - Current)
  • Full blockchain state and transaction history
  • Identical format to StreamBlocks gRPC stream

Processed & Indexed Data Services#

For optimized access and querying:

  • Indexed Trade Database: Query historical trades by symbol, time, user
  • REST APIs: Historical data queries with flexible filtering
  • Custom Data Pipelines: Tailored data processing for specific use cases
  • Real-time Streaming: Live data streaming solutions
  • Custom Exports: Bulk data exports and reports
  • Integration Support: Assistance with data integration

Contact Information#

To access Dwellir's Hyperliquid historical data archives:

📧 Contact: ben@dwellir.com

Request access to:

  • Raw archival data (trade fills or replica commands)
  • Indexed data services with query APIs
  • Custom data processing pipelines
  • Integration support for your applications

Use Cases#

Trade Fill Data Use Cases#

  • Backtesting: Test trading strategies against historical execution data
  • Market Analysis: Study price movements and trading patterns
  • Risk Management: Analyze historical volatility and correlations
  • PnL Analysis: Calculate historical profit and loss
  • Fee Analysis: Analyze trading costs and fee structures

Replica Commands Data Use Cases#

  • Blockchain Replay: Reconstruct complete blockchain state from any point
  • Transaction Analysis: Analyze all transaction types and patterns
  • Order Book Reconstruction: Rebuild historical order book states
  • State Verification: Verify blockchain state transitions
  • Protocol Research: Study consensus, validator activity, and protocol behavior
  • Compliance & Auditing: Maintain complete audit trails with full transaction context
  • Advanced Analytics: Build comprehensive trading and execution analytics with full blockchain context

Access comprehensive Hyperliquid historical data including trade fills and complete replica commands blockchain data. Available from January 2025 onwards. Leverage Dwellir's indexed data services for optimized queries and analysis. Contact Us →