HyperLiquid has an on-chain governance system with proposals, voting, and global parameter changes. Governance operates through the staking and validator system, with all state stored directly on L1.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.
Proposal system
Governance proposals follow a propose-then-vote pattern:ProposalCategory that determines its scope and quorum requirements. Active proposals are stored in the staking state’s proposals field.
Staking state
The staking state is the central governance container. It holds all validator, delegation, and governance data:| Field | Purpose |
|---|---|
proposals | Active governance proposals |
stakes | Validator stake amounts |
jailed_signers | Currently jailed validator signers |
jail_vote_tracker | Tracks jailing votes per validator |
jail_until | Jail expiry timestamps |
native_token_reserve | HYPE token reserve for rewards |
validator_to_staged_rewards | Pending rewards per validator |
pending_withdrawals | Pending stake withdrawals |
self_delegation_requirement | Minimum self-delegation |
disabled_validators | Disabled validator set |
validator_to_state | Per-validator state map |
version | State version |
Vote mechanics
HyperLiquid uses a generic VoteTracker system for stake-weighted voting across all governance decisions:VoteWeight, which maps directly to staked amounts. This same tracker mechanism is used for governance proposals, parameter changes, jailing votes, and app hash consensus.
App hash consensus
Validators also vote on application state hashes to ensure all nodes agree on the current state:Global parameter changes
Validators can modify global protocol parameters through two mechanisms:SetGlobalAction
Direct parameter updates, typically for price feeds:delayed flag) for safety, executing at a future block height.
VoteGlobalAction
Stake-weighted voting on protocol changes. Categories include:| Category | Description |
|---|---|
VaultModification | Vault parameter changes |
GossipPriorityGasAuctionChange | Gas auction configuration |
SetUsdcEvmContract | USDC EVM contract address |
RegisterAssetRequest | New asset registration |
SetHip3BackstopLiquidatorParams | Backstop liquidator config |
DeployGasAuctionChange | Deployment gas auction lifecycle |
SetReserveAccumulator | Lending reserve accumulator |
Validator registration and management
New validators register viaRegisterValidatorAction. Once registered, validators can perform various operations through ValidatorAction, including scheduling cancellations, setting display names, and voting on global parameters.
Validators can be disabled for specific order types:
Jailing system
Validators are jailed for misbehavior, primarily missed heartbeats or consensus failures.Jailing flow
Misbehavior detected
A validator misses heartbeats or disconnects from the network. The
HeartbeatJailingConfig defines the thresholds.Votes accumulate
Other validators vote to jail the offending validator. Votes accumulate in
jail_vote_tracker.Threshold reached
Once
jail_threshold is reached (sufficient stake-weighted votes), the validator is jailed until the jail_until timestamp.Jailing state
Delegation system
Token holders can delegate stake to validators. Delegation uses an epoch-based system where changes take effect at epoch boundaries.Delegation state
Validator delegation config
Each validator controls their delegation parameters:| Field | Purpose |
|---|---|
cold_user | Cold wallet for delegation |
commission_bps | Commission in basis points |
delegations_blocked | Flag to block new delegations |
delegations_disabled | Flag to fully disable delegations |
register_time | When the validator registered |
last_signer_change_time | Last signer key rotation |
disable_delegations | Per-validator delegation toggle |
Reward distribution
Rewards are distributed from the native HYPE token reserve using a two-phase process:Staging
Rewards are accumulated into
validator_to_staged_rewards. The stage_reward_bucket_guard controls timing of this phase.native_token_reserve, which is the protocol’s HYPE allocation for validator incentives.
Stake discount tiers
Staking provides trading fee discounts based on tier thresholds:weigh_spot_volume_double field gives additional weight to spot trading volume when calculating tier eligibility.
Validator economics
Staking requirements
Validators must meet minimum self-delegation requirements to participate in consensus. Theself_delegation_requirement field in the staking state defines this threshold. Self-delegated stake has a 1-year lock period, ensuring long-term alignment.
Unstaking
Stake withdrawals enter a 7-day unstaking queue viapending_withdrawals. During this period, the stake continues to count toward security but the validator cannot access the funds.
Reward formula
Validator rewards come from thenative_token_reserve (HYPE allocation). The reward rate is inversely proportional to the square root of total HYPE staked:
Commission
Validators set their commission rate viacommission_bps (basis points). Commission is taken from delegator rewards before distribution. Validators can also:
- Block new delegations (
delegations_blocked) - Fully disable delegations (
delegations_disabled) - Rotate their signer key (
last_signer_change_timetracks this)
Revenue streams
Validators earn from multiple sources:- Block rewards — from the native token reserve
- Commission — percentage of delegator rewards
- Fee share — portion of trading fees