Docs
Docs
Home
Getting Started
Agent Tooling
CLI
Supported Chains
Acala
Aptos
Arbitrum
Arc
Asset Hub
Astar
Avalanche
Base
Berachain
Bifrost
Binance Smart Chain
Bittensor
Blast
Boba Network
Bridge Hub
Celo
Centrifuge
Chiliz
Cronos
Enjin
Ethereum
Etherlink
Flow EVM Gateway
Gnosis
Hydration
Hyperliquid
Immutable
Ink
IoTeX
Kusama
Linea
LISK
Manta Atlantic
Manta Pacific
Mantle
MegaETH
Monad
Movement
Neuroweb
opBNB
Optimism
Plasma
Polkadot
Polygon
Pulsechain
Robinhood
Ronin
Scroll
Sonic
Starknet
Taiko
Tempo
Sui
TRON
Unichain
Viction
World Chain
XDC Network
XX Network
Zetachain
zkSync Era
Zora
Supported ChainsHyperliquidData CatalogNode-written data

Hyperliquid Periodic ABCI State - Binary Data

Understand periodic_abci_states RMP files, their layout, and archival, dedicated gRPC, or snapshot access paths.

Hyperliquid RPC endpoint: endpoint URLs, plans and pricing.

periodic_abci_states contains periodic binary state dumps. These files are archival inputs for state-aware consumers and can seed generated order-book snapshots. They are not a JSON event feed.

Access

AvailabilityAccessDetails
Live / replayDedicated Node Cluster gRPCDirect gRPC access to periodic_abci_states is available only with a Dedicated Node Cluster.
ArchivalS3 BucketS3 coverage for periodic_abci_states: 2026-04-14 to today, stored as <height>.rmp.lz4.
Related live dataStreamOrderbookSnapshots and GetOrderBookSnapshotSnapshot availability and maximum response size vary by endpoint.

File layout

Depending on the source object and compression state, the relative filename ends in one of these forms:

Text
periodic_abci_states/<date>/<block-number>.rmp
periodic_abci_states/<date>/<block-number>.rmp.lz4

Binary format

The payload is binary RMP (MessagePack) state. A .rmp.lz4 object must be decompressed before an RMP decoder reads it; the resulting bytes are still RMP, not JSON. Select a decoder that matches the node-state schema for the object you consume. Never pass the bytes to a JSON parser or infer a JSON structure from the filename.

Important fields

There is no stable top-level JSON field table for this dataset. The filename identifies the associated sequential block position, while the decoded binary fields depend on the matching RMP state schema. Preserve large integers, byte arrays, and map keys without lossy JSON conversion.

For order-book reconstruction, use a generated snapshot derived for that purpose and then apply ordered book diffs after its position. Do not treat an arbitrary binary state dump as the public snapshot response shape.

A generated book snapshot cannot establish complete account balances or margin state. See account-risk reconstruction requirements before selecting replay inputs.

Observed fields

Each line lists the keys inside one container. [n] after a key is the largest array length seen. [] marks an array element and [1] the value half of a key-value pair. The walk stops 7 levels deep. Field names follow the node-state schema and can change at a hardfork.

Generated from periodic_abci_states/20261021/1191310000.rmp.lz4 (2026-10-21).

Text
(root): exchange
exchange: action_delayer, advt, agent_tracker, allowed_liquidators[5], app_hash_vote_tracker, begin_block_logic_guard, book_empty_user_states_pruning_guard, bridge2, c_staking, cancel_aggressive_orders_at_open_interest_cap_guard, default_hip3_limits, dex_abstraction_enabled, disabled_precompiles[0], evm_enabled, funding_distribute_guard, funding_err_dur_guard, funding_update_guard, hil, hip3_no_cross, hip3_stale_mark_px_guard, hlp_start_of_day_account_value, hyper_evm, hyperliquidity, initial_usdc_evm_system_balance, last_hlp_cancel_time, lhvt, locus, lvt, max_hlp_withdraw_fraction_per_day, max_order_distance_from_anchor, msc, multi_sig_tracker, oh[100], partial_liquidation_cooldown, perp_deploy_gas_auction, perp_dexs[11], pmi, pmn, post_only_until_height, post_only_until_time, prune_agent_idx, pt, pvs, register_token_gas_auction, reserve_accumulators[3], scheduled_freeze_height, spot_books[1121], spot_disabled, spot_pair_deploy_gas_auction, spot_twap_tracker, staking, staking_link_tracker, sub_account_tracker, user_to_display_name[3275], user_to_evm_state[1111429], user_to_evm_to_l1_wei_remaining[0], user_to_scheduled_cancel[265], validator_l1_stream_tracker, validator_l1_vote_tracker, vtg
exchange.action_delayer: delay_scale, delayed_actions[0], max_n_delayed_actions, n_total_delayed_actions, user_to_n_delayed_actions[0]
exchange.advt: adu, h, highest_quorum_height, htm[0], qrs[0], tracker
exchange.advt.h: l, q
exchange.advt.tracker: hsc, i[51], name
exchange.advt.tracker.hsc: i, q
exchange.advt.tracker.i[][1]: qst, vts[1]
exchange.agent_tracker: address_to_nonce_set[158663], agent_to_user[418223], user_to_extra_agents[292422], user_to_main_agent[73546], user_to_pending_agent_removals[0]
exchange.agent_tracker.user_to_extra_agents[][1][]: a, n, v
exchange.agent_tracker.user_to_main_agent[][1]: a, v
exchange.app_hash_vote_tracker: highest_quorum_height, quorum_app_hashes[0], tracker
exchange.app_hash_vote_tracker.tracker: hsc[0], i[26], name
exchange.app_hash_vote_tracker.tracker.i[][1]: qst, vts[1]
exchange.begin_block_logic_guard: bucket_millis, last_bucket
exchange.book_empty_user_states_pruning_guard: bucket_millis, last_bucket
exchange.bridge2: bal, dvp[0], dvpd, dvs[22], eth_id_to_deposit_votes, finished_deposits_data[9768], finished_withdrawal_to_time[10872], last_pruned_deposit_block_number, lfd, oaw, r, validator_set_finalized_votes, validator_set_signatures, withdrawal_finalized_votes, withdrawal_signatures
exchange.bridge2.dvs[][1]: ne, nv
exchange.bridge2.eth_id_to_deposit_votes: hsc, i[0], name
exchange.bridge2.eth_id_to_deposit_votes.hsc: i, q
exchange.bridge2.finished_deposits_data[][]: b, e, h, i, s, t, u
exchange.bridge2.finished_withdrawal_to_time[][]: n, u
exchange.bridge2.r: c
exchange.bridge2.r.c: a, i
exchange.bridge2.validator_set_finalized_votes: hsc[0], i[4], name
exchange.bridge2.validator_set_finalized_votes.i[][1]: qst, vts[1]
exchange.bridge2.validator_set_signatures: hsc[0], i[1], name
exchange.bridge2.validator_set_signatures.i[][1]: qst, vts[1]
exchange.bridge2.withdrawal_finalized_votes: hsc[0], i[0], name
exchange.bridge2.withdrawal_signatures: hsc[0], i[166], name
exchange.bridge2.withdrawal_signatures.i[][]: n, qst, u, vts[1]
exchange.c_staking: allow_all_validators, allowed_validators[16], broadcasters[9], delegations, disabled_node_ips[0], disabled_validators[0], distribute_reward_bucket_guard, gms, jail_until[0], jailed_signers, jvt, lsc, native_token_reserve, pending_withdrawals, proposals[0], retired_signers[0], self_delegation_requirement, signer_to_last_manual_unjail_time[0], stage_reward_bucket_guard, stakes, stakes_decay_bucket_guard, user_states[108951], validator_to_profile[35], validator_to_staged_rewards[27], validator_to_state[35], vms
exchange.c_staking.delegations: user_to_delegations[48799], validator_to_state[35]
exchange.c_staking.delegations.validator_to_state[][1]: delegator_to_epoch_delegation[1487], total_delegated
exchange.c_staking.distribute_reward_bucket_guard: bucket_millis, last_bucket
exchange.c_staking.jailed_signers: current[6], current_round, epoch_values, n_keep, period
exchange.c_staking.jailed_signers.epoch_values: initial_round, round_to_val[300]
exchange.c_staking.jvt: hsc[0], i[0], name
exchange.c_staking.pending_withdrawals: queue[772], user_to_total_withdrawal[682]
exchange.c_staking.pending_withdrawals.user_to_total_withdrawal[][1]: n, wei
exchange.c_staking.stage_reward_bucket_guard: bucket_millis, last_bucket
exchange.c_staking.stakes: current, current_round, epoch_values, n_keep, period
exchange.c_staking.stakes.current: hv[22], max_n_validators, validator_to_stake[35]
exchange.c_staking.stakes.epoch_values: initial_round, round_to_val[300]
exchange.c_staking.stakes_decay_bucket_guard: bucket_millis, last_bucket
exchange.c_staking.validator_to_profile[][1]: commission_bps, delegations_disabled, description, name, node_ip, signer
exchange.c_staking.validator_to_profile[][1].node_ip: Ip[4]
exchange.c_staking.validator_to_state[][1]: delegations_blocked, last_signer_change_time, register_time
exchange.cancel_aggressive_orders_at_open_interest_cap_guard: bucket_millis, last_bucket
exchange.default_hip3_limits: daily_px_range, max_n_users_with_positions, max_transfer_ntl2, max_under_initial_margin_transfer_ntl2, oi_sz_cap_per_perp, total_oi_cap2
exchange.funding_distribute_guard: bucket_millis, last_bucket
exchange.funding_err_dur_guard: err_duration, first_err_time, last_err_time
exchange.funding_update_guard: bucket_millis, last_bucket
exchange.hil: half_life, m, max_n_depositors, max_slippage
exchange.hip3_stale_mark_px_guard: bucket_millis, last_bucket
exchange.hyper_evm: big_block_context, disabled_core_writer_actions[0], ft[0], is_initialized, l1_to_evm_erc20_queue[1], l1_to_evm_native_token_queue[0], l1_transfers_enabled, latest_block2, mrb, put[0], small_block_context, state2, ub, ul
exchange.hyper_evm.big_block_context: bucket_guard, latest_block, mempool
exchange.hyper_evm.big_block_context.bucket_guard: bucket_millis, last_bucket
exchange.hyper_evm.big_block_context.latest_block: Reth115
exchange.hyper_evm.big_block_context.latest_block.Reth115: body, header
exchange.hyper_evm.big_block_context.latest_block.Reth115.body: ommers[0], transactions[2], withdrawals[0]
exchange.hyper_evm.big_block_context.latest_block.Reth115.header: hash, header
exchange.hyper_evm.big_block_context.mempool: address_to_txs[37], len
exchange.hyper_evm.l1_to_evm_erc20_queue[]: contract, send_to_evm_data, system_address, token, user, wei
exchange.hyper_evm.l1_to_evm_erc20_queue[].send_to_evm_data: data, destination_chain_id, destination_recipient, gas_limit, nonce
exchange.hyper_evm.latest_block2: Reth115
exchange.hyper_evm.latest_block2.Reth115: body, header
exchange.hyper_evm.latest_block2.Reth115.body: ommers[0], transactions[5], withdrawals[0]
exchange.hyper_evm.latest_block2.Reth115.header: hash, header
exchange.hyper_evm.latest_block2.Reth115.header.header: baseFeePerGas, blobGasUsed, difficulty, excessBlobGas, extraData, gasLimit, gasUsed, logsBloom, miner, mixHash, nonce, number, parentBeaconBlockRoot, parentHash, receiptsRoot, sha3Uncles, stateRoot, timestamp, transactionsRoot, withdrawalsRoot
exchange.hyper_evm.small_block_context: bucket_guard, latest_block, mempool
exchange.hyper_evm.small_block_context.bucket_guard: bucket_millis, last_bucket
exchange.hyper_evm.small_block_context.latest_block: Reth115
exchange.hyper_evm.small_block_context.latest_block.Reth115: body, header
exchange.hyper_evm.small_block_context.latest_block.Reth115.body: ommers[0], transactions[5], withdrawals[0]
exchange.hyper_evm.small_block_context.latest_block.Reth115.header: hash, header
exchange.hyper_evm.small_block_context.mempool: address_to_txs[1806], len
exchange.hyper_evm.state2: block_hashes[257], evm_db
exchange.hyper_evm.state2.evm_db: NoEvmDb
exchange.hyperliquidity: ensure_order_bucket_guard, spot_to_range[1091]
exchange.hyperliquidity.ensure_order_bucket_guard: bucket_millis, last_bucket
exchange.hyperliquidity.spot_to_range[][1]: order_sz, points[4000]
exchange.lhvt: adu, h, highest_quorum_height, htm[0], qrs[0], tracker
exchange.lhvt.h: l, q
exchange.lhvt.tracker: hsc, i[6], name
exchange.lhvt.tracker.hsc: i, q
exchange.lhvt.tracker.i[][1]: qst, vts[1]
exchange.locus: aux[0], blp, chn, cls[11], ctr, ctx, ftr, hcm, msc, pdl, pmu, qus[3], scl, uaR[0], uac[6663], ust[2799178], vlt[9478]
exchange.locus.blp: b, bog, bwo, dp, du, e, mbs, n, o, os, p, pma, pmdl, pml, pmmt, pmmu, pmv, r, u[22879], ubgl, ubul, uobc
exchange.locus.blp.b: e, er[4]
exchange.locus.blp.bog: bucket_millis, last_bucket
exchange.locus.blp.pmdl: m, n
exchange.locus.blp.pml: m, n
exchange.locus.blp.r: p, t[5], u
exchange.locus.blp.u[][1]: t[3]
exchange.locus.blp.ubgl: m, n
exchange.locus.blp.ubul: m, n
exchange.locus.blp.uobc: n, t
exchange.locus.cls[]: adl_shortfall_remaining, bridge2_withdraw_fee, daily_exchange_scaled_and_raw_vlms[21], halted_assets[56], isolated_external[0], isolated_oracle[1], last_set_global_time, lnsgt, max_withdraw_leverage, meta, moh, oracle, override_max_signed_distances_from_oracle[0], perform_auto_deleveraging, total_net_deposit, total_non_bridge_deposit, usdc_ntl_scale[2], user_states, znfn
exchange.locus.cls[].meta: collateralToken, collateralTokenName, marginTableIdToMarginTable[7], pdi, universe[234]
exchange.locus.cls[].moh: Hip3, Main
exchange.locus.cls[].moh.Hip3: df[127], hip3_backstop_liquidator_state, limits, schema, state
exchange.locus.cls[].moh.Main: asset_to_recent_oi[30], assets_at_open_interest_cap[7], override_max_oi_per_second[5], reset_recent_oi_bucket_guard
exchange.locus.cls[].oracle: err_dur_guard, lmpe[183], mpcg[0], msoe, pmep[1], pmpo[0], psro[2], pxs2[234], ror
exchange.locus.cls[].oracle.err_dur_guard: err_duration, first_err_time, last_err_time
exchange.locus.cls[].oracle.msoe: e[183], g
exchange.locus.cls[].oracle.ror: ktm[704], roc, utl[23]
exchange.locus.cls[].user_states: ar[1], asset_to_oi_szi[234], check_all_users_for_liquidatables, open_order_tracker, user_to_state[2349631], users_with_positions[105139]
exchange.locus.cls[].user_states.open_order_tracker: user_to_data[17663]
exchange.locus.ctr: ac, sc, so, tc, tn, to, vn
exchange.locus.ctr.ac: c, l, m, p
exchange.locus.ctr.ac.c: s
exchange.locus.ctx: hardfork, hardfork_height, height, mac, next_lid, next_oid, next_twap_id, prev_time, round, system_nonce, time, tx_index, use_system_nonce
exchange.locus.ctx.hardfork: round, version
exchange.locus.ftr: code_to_referrer[65611], collected_builder_fees[1949], fee_schedule, referral_bucket_millis, referrer_states[65611], total_fees_collected, total_spot_fees_collected, trials_disabled, unrewarded_users[13], user_states[2017108]
exchange.locus.ftr.fee_schedule: destination, extra_destination_fractions[1], rates[4], referral_discount, referrer_keep, stake_discount_tiers, tiers, weigh_spot_volume_double
exchange.locus.ftr.fee_schedule.stake_discount_tiers: tiers[6]
exchange.locus.ftr.fee_schedule.tiers: mm[3], vip[6]
exchange.locus.ftr.referrer_states[][1]: b, c, n, s[3]
exchange.locus.ftr.user_states[][1]: F, T[1], r
exchange.locus.msc: ape, apw, mts, nts, scri, tse, uts[217]
exchange.locus.scl: daily_exchange_scaled_and_raw_vlms[21], eebl, eec, evm_transfer_escrows[1254], meta, native_token, pmr[5], soh, spot_dusting_opted_out_users[4537], token_fees_collected[1045], token_to_genesis[1107], token_to_max_supply[1094], token_to_pending_evm_contract[0], user_states[2233076]
exchange.locus.scl.daily_exchange_scaled_and_raw_vlms[][1]: r, s
exchange.locus.scl.eebl: m, n
exchange.locus.scl.eec: n, t
exchange.locus.scl.meta: allow_duplicate_token_names, canonical_tokens2[2], dtl[2], liquid_base_tokens[7], liquid_quote_tokens[2], outr, quote_token_to_status[4], spot_infos[1121], ta2[1], token_id_to_token[1275], token_infos[1275], token_name_to_canonical_deployer[0], token_to_approx_usdc_pxs[11], token_to_first_time_enabled_as_quote[4]
exchange.locus.scl.meta.outr: den, dts[4], fs, l, mao, mdo, mdod, mnao, mnaq, mnd, mut, ndo, nou, nqu, otq[120], ots[306], qts[24], tem, tto[612], uoa, utd[154]
exchange.locus.scl.meta.outr.tem: ntt[28]
exchange.locus.scl.meta.spot_infos[]: deploy_time, tokens[2]
exchange.locus.scl.meta.token_infos[]: deploy_gas_token, deploy_gas_wei, deploy_time, deployer, deployer_trading_fee_share, evm_contract, frozen_users, full_name, non_circulating_users[0], seeded_usdc, spec, spots[1]
exchange.locus.scl.soh: sotq[1912], sots[14749], sqp[14749], sqpq[462], sqts[462]
exchange.locus.scl.token_to_genesis[][1]: blacklist_users[0], existing_token_balances[1], user_balances[3]
exchange.locus.scl.user_states[][1]: b[175]
exchange.locus.uac[][1]: m
exchange.locus.ust[][1]: C, P, s
exchange.locus.vlt[][1]: allow_deposits, always_close_on_withdraw, create_time, description, is_closed, leader, leader_commission, lockup_duration, name, relationship, s, user_states[49], vault_user
exchange.locus.vlt[][1].relationship: type
exchange.msc: aci, i, mou, mtpt, pmc, sgd, sog, sre[0], tce, tde, uta[2], vpv[22]
exchange.msc.mou: l, u[3]
exchange.msc.sog: bucket_millis, last_bucket
exchange.msc.vpv[][1]: time, version
exchange.multi_sig_tracker: user_to_multi_sig_signers[6117]
exchange.multi_sig_tracker.user_to_multi_sig_signers[][1]: authorizedUsers[4], threshold
exchange.oh[][1]: pxs2[234]
exchange.perp_deploy_gas_auction: bucket_guard, end_gas_wei, initial_gas_to_last_auction_gas_ratio, min_gas, start_gas_wei, token
exchange.perp_deploy_gas_auction.bucket_guard: bucket_millis, last_bucket
exchange.perp_dexs[]: books[234], funding_tracker, perp_to_annotation[123], twap_tracker
exchange.perp_dexs[].books[]: asset, bod, cloid_tracker, halfs[2], last_trade_px, oid_to_key[59570], total_sz, user_states[15985]
exchange.perp_dexs[].books[].bod: e[64684], l, n
exchange.perp_dexs[].books[].cloid_tracker: user_trackers[141549]
exchange.perp_dexs[].funding_tracker: asset_to_premiums[234], default_clamp, default_impact_usd, hl_only_perps[0], override_impact_usd[9], perp_to_funding_clamp[0], perp_to_funding_interest_rate[4], perp_to_funding_multiplier[129], use_binance_formula
exchange.perp_dexs[].perp_to_annotation[][1]: c, d, k[2], l, n
exchange.perp_dexs[].twap_tracker: running_heap[199], user_to_id_to_state[134], user_to_id_to_waiting[35]
exchange.perp_dexs[].twap_tracker.running_heap[]: next_slice_time, twap_id, user
exchange.pt: gpa[2], gpc, pgp[1134], prp
exchange.pt.gpa[]: a, cw, pw
exchange.pt.gpa[].a: bucket_guard, end_gas_wei, initial_gas_to_last_auction_gas_ratio, min_gas, start_gas_wei, token
exchange.pt.gpa[].a.bucket_guard: bucket_millis, last_bucket
exchange.pt.gpa[].pw: Ip[4]
exchange.pt.gpc: gm
exchange.pt.pgp[][1]: P, u, w
exchange.pt.prp: D, b, d, r
exchange.pvs: mptc, ptc
exchange.register_token_gas_auction: bucket_guard, end_gas_wei, initial_gas_to_last_auction_gas_ratio, min_gas, start_gas_wei, token
exchange.register_token_gas_auction.bucket_guard: bucket_millis, last_bucket
exchange.reserve_accumulators[][1]: ema, max_px, order_ntl, spot
exchange.reserve_accumulators[][1].ema: decay_duration, denom, last_sample_time, n_samples, num
exchange.spot_books[]: asset, bod, cloid_tracker, halfs[2], last_trade_px, oid_to_key[5205], total_sz, user_states[1075]
exchange.spot_books[].bod: e[6198], l, n
exchange.spot_books[].bod.e[]: o
exchange.spot_books[].cloid_tracker: user_trackers[1562]
exchange.spot_books[].halfs[]: levels[3471]
exchange.spot_books[].user_states[][1]: U[0], b[1], r[0], u[0]
exchange.spot_pair_deploy_gas_auction: bucket_guard, end_gas_wei, initial_gas_to_last_auction_gas_ratio, min_gas, start_gas_wei, token
exchange.spot_pair_deploy_gas_auction.bucket_guard: bucket_millis, last_bucket
exchange.spot_twap_tracker: running_heap[124], user_to_id_to_state[84], user_to_id_to_waiting[13]
exchange.spot_twap_tracker.running_heap[]: next_slice_time, twap_id, user
exchange.staking: active_epoch, allowed_validators[4], cur_epoch, cur_epoch_state, epoch_duration_seconds, epoch_states[8]
exchange.staking.cur_epoch_state: start_time, validator_states[4]
exchange.staking.cur_epoch_state.validator_states[][1]: cold_user, delegations[1], hot_user
exchange.staking.epoch_states[][1]: start_time, validator_states[4]
exchange.staking_link_tracker: user_to_staking_link2[2507]
exchange.staking_link_tracker.user_to_staking_link2[][1]: StakingUser, TradingUser
exchange.staking_link_tracker.user_to_staking_link2[][1].StakingUser: trading_user
exchange.staking_link_tracker.user_to_staking_link2[][1].TradingUser: staking_user
exchange.sub_account_tracker: sub_account_to_master[48293], user_to_sub_accounts[23803]
exchange.sub_account_tracker.user_to_sub_accounts[][1][]: m, n, s
exchange.user_to_evm_state[][1]: T, b, g, t
exchange.user_to_scheduled_cancel[][1]: t
exchange.validator_l1_stream_tracker: risk_free_rate
exchange.validator_l1_stream_tracker.risk_free_rate: b, m, v[13]
exchange.validator_l1_stream_tracker.risk_free_rate.b: bucket_millis, last_bucket
exchange.validator_l1_stream_tracker.risk_free_rate.v[][1]: t, v
exchange.validator_l1_vote_tracker: active, at2[0], hc, prune_bucket_guard
exchange.validator_l1_vote_tracker.hc: i, q
exchange.validator_l1_vote_tracker.prune_bucket_guard: bucket_millis, last_bucket
exchange.vtg: hsc[0], i[0], name

Related pages

  • Generated order-book snapshots — Use the purpose-built public snapshot format for reconstruction.
  • Raw book diffs — Apply ordered changes after a known state seed.
  • L4 books — Consume the derived, order-level live view.

Hyperliquid TWAP Statuses - Node Data

Inspect node_twap_statuses_by_block files, lifecycle fields, sample data, and access methods.

Hyperliquid Trades - Live Trade Prints

Understand Hyperliquid V3 trade batches, participant fields, live access, and historical alternatives.

On this page

AccessFile layoutBinary formatImportant fieldsObserved fieldsRelated pages