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

Proposal system

Governance proposals follow a propose-then-vote pattern:
Each proposal has a 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: Each validator also carries per-validator state:

Vote mechanics

HyperLiquid uses a generic VoteTracker system for stake-weighted voting across all governance decisions:
Voting power is determined by 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:
SetGlobal actions can be delayed (delayed flag) for safety, executing at a future block height.

VoteGlobalAction

Stake-weighted voting on protocol changes. Categories include:

Validator registration and management

New validators register via RegisterValidatorAction. 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

1

Misbehavior detected

A validator misses heartbeats or disconnects from the network. The HeartbeatJailingConfig defines the thresholds.
2

Votes accumulate

Other validators vote to jail the offending validator. Votes accumulate in jail_vote_tracker.
3

Threshold reached

Once jail_threshold is reached (sufficient stake-weighted votes), the validator is jailed until the jail_until timestamp.
4

Unjailing

After the jail period expires, the validator can self-unjail via the unjailSelf action. The signer_to_last_manual_unjail_time field prevents rapid re-unjailing.

Jailing state

Jailing includes a latency EMA (exponential moving average) component. Validators with consistently high latency can be jailed even if they are technically producing heartbeats, as the system tracks response quality, not just liveness.

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: Global delegation tracking:

Reward distribution

Rewards are distributed from the native HYPE token reserve using a two-phase process:
1

Staging

Rewards are accumulated into validator_to_staged_rewards. The stage_reward_bucket_guard controls timing of this phase.
2

Distribution

Staged rewards are distributed to validators and their delegators. The distribute_reward_bucket_guard controls timing.
Rewards come from the 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:
Higher stake amounts unlock progressively better fee discounts. The 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. The self_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 via pending_withdrawals. During this period, the stake continues to count toward security but the validator cannot access the funds.

Reward formula

Validator rewards come from the native_token_reserve (HYPE allocation). The reward rate is inversely proportional to the square root of total HYPE staked:
This creates a natural equilibrium: as more HYPE is staked, the per-token yield decreases, discouraging excessive concentration while maintaining sufficient security incentives.

Commission

Validators set their commission rate via commission_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_time tracks this)

Revenue streams

Validators earn from multiple sources:
  1. Block rewards — from the native token reserve
  2. Commission — percentage of delegator rewards
  3. Fee share — portion of trading fees
The two-phase reward system (staging then distribution) ensures atomic, consistent payouts across the validator set.

Delayed actions

Governance actions can be delayed for safety. This provides a window for validators to review and potentially cancel dangerous parameter changes before they take effect.