Use

Governance guide

How oCEAN works, what governance controls, and how to propose, vote and execute.


What governance controls

oCEAN governance decides:

  • The validator set: which Hyperliquid validators receive the pool's stake, and at what weights.
  • Vault parameters: the buffer target and the deposit cap.
  • The delegation account recorded in the Vault.
  • Role holders: the Operator and Guardian addresses.

Every approved change waits 48 hours in the Timelock before it takes effect.

oCEAN

oCEAN is the voting power of OCEAN. It uses the ERC-20 Votes standard, so:

  • One OCEAN is one vote, once activated.
  • Activation is delegation. Your OCEAN carries no votes until you delegate them, either to yourself or to another address. Select Activate oCEAN on the Stake or Governance page to delegate to yourself.
  • Delegating to someone else moves your voting power, not your OCEAN. You keep your OCEAN and its distribution, and you can redelegate at any time. Call delegate(address) on the OCEAN contract from a block explorer or your wallet.
  • Snapshots. Each proposal records voting power at the moment voting is set to begin. OCEAN acquired after that moment does not count for that proposal.

Parameters

Parameter Value
Proposal threshold 1,000 oCEAN
Voting delay 1 day
Voting period 5 days
Quorum 4% of OCEAN supply at the snapshot, counting For and Abstain
Timelock delay 48 hours
Options For, Against, Abstain

A proposal passes when For votes exceed Against votes and For plus Abstain reaches quorum.

Proposing

Any address with at least 1,000 oCEAN of voting power can submit a proposal. A proposal is a list of contract calls plus a description.

  • Description. The first line is the title shown on the Governance page. The rest is the body: say what changes, why, and what you considered.
  • Actions. Each action is a target contract, a HYPE value (usually zero) and calldata.

To propose a new validator set, the action calls setValidatorSet(address[] validators, uint16[] weightsBps) on the Vault. With Foundry:

CALLDATA=$(cast calldata "setValidatorSet(address[],uint16[])" \
  "[0xValidatorA,0xValidatorB,0xValidatorC,0xValidatorD]" \
  "[2500,2500,2500,2500]")

cast send $GOVERNOR "propose(address[],uint256[],bytes[],string)" \
  "[$VAULT]" "[0]" "[$CALLDATA]" \
  "Set validator set: A, B, C, D at 25% each

Rationale, validator data and alternatives considered." \
  --rpc-url $ELYSIUM_RPC_URL --account <your-keystore>

Validator-set rules

The Vault rejects any validator set that breaks these rules:

  • Weights are in basis points and sum to exactly 10,000.
  • No validator receives more than 2,500 basis points (25%), so a valid set has at least four validators.
  • Each address appears once.

Use Hyperliquid's own validator data, shown on the Governance page, to support a proposal: commission, uptime, jailing history and total stake.

Voting

  1. Activate your oCEAN before the proposal's snapshot.
  2. On the Governance page, open an Active proposal.
  3. Select Vote for, Vote against or Abstain and confirm in your wallet.

Each address votes once per proposal. Your vote weight is your voting power at the snapshot.

Queueing and execution

When voting ends, a successful proposal is queued in the Timelock. After 48 hours, anyone can execute it. Both steps are public calls on the Governor (queue and execute) and take the same targets, values, calldatas and description hash as the proposal.

After a validator-set change executes, the Operator rebalances delegations on Hyperliquid to the new weights. Rebalancing is subject to Hyperliquid's one-day delegation lockup.

The first proposal

The Vault starts with an empty validator set. The first act of governance is a proposal that sets the genesis validator set. Until it executes, deposits remain in the Vault buffer and are not delegated.

Good practice

  • Publish your rationale before proposing, so holders have time to read it.
  • Prefer validators with long, clean uptime and stable commission.
  • Spread weight. The 25% cap is a ceiling, not a target.
  • Explain what you expect the change to do to the distribution, and what you do not know.