Skip to main content

Blocks Dataset

Updated on
Sep 17, 2026

Overview​

The blocks stream (stored as replica_cmds) contains ALL raw HyperCore transactions submitted to the Hyperliquid blockchain. This is the most comprehensive dataset available, capturing every action on the chain.

Stream Type: BLOCKS
API Availability: gRPC Streaming API, plus historical JSON-RPC block queries
Volume: Extremely High - Every HyperCore action is recorded
Availability: gRPC nodes for live streaming and for filtering. Historical blocks are also available through the /hypercore JSON-RPC methods hl_getBlock and hl_getBatchBlocks using stream: "replica_cmds".

Data Structure​

Each block contains:

  • Block height (height)
  • Block metadata (abci_block)
  • Signed action bundles (transactions with signatures)
  • Responses (resps) showing success/failure of each action
{
"height": 1124476039,
"abci_block": {
"round": 1424142449,
"parent_round": 1424142448,
"time": "2025-12-04T08:00:47.509497915",
"proposer": "0x9dd85fb6cf95a9d755af0853b36fb05e972c71e1",
"hardfork": {
"version": 69,
"round": 1091072071
},
"signed_action_bundles": [
[
"0xhash...",
{
"signed_actions": [
{
"signature": {
"r": "0x...",
"s": "0x...",
"v": 28
},
"action": {
"type": "order",
"a": 0,
"b": true,
"p": "92385.0",
"s": "0.00361",
"r": false,
"t": {"limit": {"tif": "Gtc"}},
"c": "0x89119db7aae18b90abe620888af9aadc"
},
"nonce": 1764816505537,
"vaultAddress": "0x0bfd7d7721f4c116e853c18ea7998e1cc2350a7d"
}
],
"broadcaster": "0x...",
"broadcaster_nonce": 1764816362065
}
]
]
},
"resps": {
"Full": [
[
"0xhash...",
[
{
"user": "0x...",
"res": {
"status": "ok",
"response": {
"type": "default"
}
}
}
]
]
]
}
}

Block Fields​

The top-level height is the block number and should be used as the block identifier. The nested abci_block.round field is an ABCI round value and can differ from the block height.

The height field is missing on older replica_cmds blocks

The top-level height field was added to Hyperliquid's raw replica_cmds data on 2026-07-25, starting at block 1085381001. Blocks produced before that change are still returned in full, with abci_block and resps, but the response object has no height key, so the payload itself does not tell you which block you received. When you query that range with hl_getBlock or hl_getBatchBlocks, track the block number from your own request.

FieldTypeDescription
heightintegerTop-level block number (use this as the block identifier)
abci_block.roundintegerABCI round value (not the block number)
abci_block.parent_roundintegerParent ABCI round value
abci_block.timestringBlock timestamp (ISO 8601)
abci_block.proposerstringValidator address who proposed this block
abci_block.hardforkobjectHardfork metadata containing version and round

Transaction Fields​

FieldTypeDescription
signatureobjectECDSA signature with r, s, v components
actionobjectThe actual operation being performed (see Action Types)
nonceintegerTransaction nonce for replay protection
vaultAddressstringVault address as a 0x-prefixed hex string. Present only when the action is performed by a vault; the key is omitted otherwise.
expiresAfterintegerExpiry timestamp for the transaction. The key is omitted when no expiry is set.
isFrontendbooleanIndicates the transaction originated from the Hyperliquid frontend. The key is omitted when not set.
broadcasterstringAddress that broadcasted the transaction bundle
broadcaster_nonceintegerBroadcaster's nonce for the bundle
Action Types (51 Types)

All HyperCore transaction types are organized by category for easier understanding:

CategoryAction TypesPurpose
Tradingorder, cancel, cancelByCloid, modify, batchModify, scheduleCancelPlace, modify, and cancel orders
TWAP OrderstwapOrder, twapCancelTime-weighted algorithmic trading
Asset TransfersusdSend, spotSend, sendAsset, agentSendAsset, withdraw3, usdClassTransfer, sendToEvmWithDataMove funds between accounts and off-platform
Account ManagementcreateSubAccount, subAccountTransfer, updateLeverage, updateIsolatedMargin, topUpIsolatedOnlyMarginSub-accounts, leverage, and margin settings
Vault OperationsvaultTransfer, NetChildVaultPositionsAction, approveAgentVault deposits, withdrawals, and agent permissions
Builder & MEVapproveBuilderFeeMEV builder fee approvals and payments
ReferralsregisterReferrer, setReferrerReferral program registration and attribution
Market DeploymentperpDeploy, hip3LiquidatorTransferLaunch new perpetual markets and move HIP-3 backstop liquidator collateral
Token OperationstokenDelegate, cDeposit, cWithdrawStaking deposits, staking withdrawals, and token delegation
Rewards & LendingclaimRewards, borrowLendReward claims, and supply or borrow operations
OutcomesuserOutcome, outcomeDeploy, activateOutcomeDeployerHIP-4 outcome markets, covering outcome splits and merges and outcome market deployment
EVM OperationsevmRawTx, evmUserModifyDirect smart contract interactions
DEX AbstractionagentEnableDexAbstraction, agentDexAbstraction, userDexAbstraction, userSetAbstraction, agentSetAbstractionUnified DEX interface and advanced trading
Validator & GovernanceValidatorSignWithdrawalAction, VoteEthFinalizedWithdrawalAction, SetGlobalAction, l1ValidatorVoteBridgeDeposit, validatorL1UpdateReferenceOracleBridge security, governance, protocol upgrades, and validator reference oracle price updates
Multi-SignaturemultiSigTransactions requiring multiple approvals
Utilitynoop, reserveRequestWeightProtocol synchronization, placeholder transactions, and request weight reservation

Key Action Details​

ActionDescriptionKey Fields
orderPlace new orders on the exchangea, b, p, s, r, t, c
cancelCancel orders by order IDa, o
twapOrderPlace algorithmic TWAP ordersduration, randomization
usdSendSend USD between usersdestination, amount, fee
withdraw3Withdraw funds from platformdestination, amount
vaultTransferTransfer to/from vaultsvault, amount, direction
evmRawTxRaw EVM transactionsRLP encoded data
perpDeployDeploy new perpetual marketsmarket parameters

Field Abbreviations:

  • a = asset, b = is buy, p = price, s = size, r = reduce only, t = order type, c = cloid, o = order ID
Response Structure

The resps field contains the result of each action:

{
"Full": [
[
"0xtransaction_hash",
[
{
"user": "0xuser_address",
"res": {
"status": "ok", // or "err"
"response": {
"type": "default" // or specific response data
}
}
}
]
]
]
}

Status values:

  • "ok" - Action executed successfully
  • "err" - Action failed (response contains error message)

API Usage​

gRPC Streaming and Historical JSON-RPC

Two gRPC methods stream this dataset:

  • Use the StreamBlocks method to receive every block.
  • Use StreamData with stream_type: BLOCKS to receive only the blocks that match a filter (by action type or user). Each delivered block still contains all of its actions and responses.
// Filter blocks by action type or user (gRPC StreamData)
const request = {
subscribe: {
stream_type: 'BLOCKS',
filters: {
"type": { values: ["order", "cancel", "twapOrder"] },
"user": { values: ["0x925a3877cd884b8edf3160192f76c7c251f83856"] }
}
}
};

Note: Live streaming of this dataset is only available on gRPC nodes, not through WebSocket APIs. Historical blocks can also be read over JSON-RPC with hl_getBlock and hl_getBatchBlocks by passing stream: "replica_cmds". Those methods return whole blocks and take no filters.

Blocks filtering matches recursively, so a block is delivered when any action or response in it matches your filter. The full block payload is returned; non-matching actions are not removed. See the Stream Filtering guide for field details.

Important Notes​


  1. gRPC Nodes for Streaming: Live streaming and filtering of this dataset are only available on gRPC nodes, not on regular full nodes. Historical blocks are also available over JSON-RPC with hl_getBlock and hl_getBatchBlocks using stream: "replica_cmds"
  2. Block Identifier: Use the top-level height as the block number, not abci_block.round or the file name
  3. Responses Required: Always check resps to see if actions succeeded or failed
  4. Highest Volume: This is the highest volume dataset - each block can contain thousands of actions
  5. Most Comprehensive: This captures EVERYTHING on HyperCore - if it happened on Hyperliquid, it's here
  6. Raw HyperCore Data: This is the raw blockchain data before any processing or aggregation
  7. Signature Verification: All actions include ECDSA signatures for verification
  8. Vault Actions: Actions from vaults include vaultAddress field

  • Orders - Processed order events derived from raw order actions
  • Trades - Trade executions resulting from order matching
  • Events - Processed blockchain events derived from various actions
  • TWAP - TWAP order status updates from twapOrder and twapCancel actions