Docs / Juror & staking

Juror & staking

How to qualify as a juror by staking JURY, how effective stake and epochs work, the 7-day unstake cooldown, claiming rewards, and how no-show slashing works.

Staking JURY is how you qualify as a juror and how you earn. Stake sets your reward share and your slash exposure, but never your vote weight, which is always 1, and never how often you’re drawn (every registered juror has an equal chance).

Register as a juror

Approve the protocol for your JURY, then stake:

protocol.stake(amount);

You become registered, eligible to be drawn and to vote, once stakeOf ≥ minStake().

Effective vs. incoming stake

New stake doesn’t count for rewards or slashing immediately. It matures at the next epoch boundary (epochs are 7 days).

ViewMeaning
stakeOf(addr)Your total staked JURY
effectiveStake(addr)The matured weight used for rewards & slashing (0 for stake added this epoch)
isRegistered(addr)stakeOf ≥ minStake

Selection is not epoch-gated: a fresh staker can be drawn onto a panel right away, but with their current (possibly 0) effective weight.

Unstake: a 7-day cooldown

Withdrawing is a two-step, delayed process:

protocol.requestUnstake(amount);  // moves stake into cooldown
// ...after the 7-day cooldown elapses:
protocol.unstake();               // withdraw the full pending amount

requestUnstake starts the 7-day UNSTAKE_COOLDOWN and drops you below registration if it takes you under minStake. unstake withdraws after the cooldown, settling your entire no-show backlog first, so a withdrawal can’t dodge a pending slash.

Claim rewards

Rewards accrue from disputes where your vote matched the outcome. Claim them all in one transfer:

protocol.claimAllRewards(1_000_000_000); // large max = claim everything

Poll claimableRewards(juror), a free eth_call, for a live claimable balance. It returns 0 after you claim.

Slashing: no-shows only

Only no-shows are slashed: a juror who owed a vote (a drawn panelist, or any staker liable for an Open dispute) and never revealed. The penalty is slashBps (1% by default) of effective stake, routed to the protocol treasury. A wrong or minority vote is never slashed. Slashing settles lazily on your next stake / requestUnstake / unstake / claimAllRewards, or when anyone calls settle(juror, max).

If you commit a vote but never reveal it, you forfeit the reward and can be slashed. Reveal from the same wallet, with the same ruling, before the reveal deadline.

Key parameters (defaults)

ParameterValue
Epoch duration7 days
Unstake cooldown7 days
Slash rate (slashBps)1%
Commit window3 days
Reveal window2 days
Sortition panel size7