Skip to main content

Staking

PROVE staking enables token holders to delegate their economic and governance weight to chosen provers while earning rewards through a dual-vault architecture, via the SuccinctStaking contract. PROVE staking uses a nested vault structure where:

  1. PROVE tokens are deposited into a global ERC-4626 iPROVE vault.
  2. iPROVE tokens are then deposited into prover-specific ERC-4626 vaults.
  3. Stakers receive stPROVE receipt tokens representing their share.

This design delegates voting weight to provers while providing liquid staking receipts and automatic reward distribution.

Staking

The staker calls stake(prover, amount) on the SuccinctStaking contract. Upon calling this function:

  1. The specified amount of PROVE tokens are transferred to the contract.
  2. PROVE is deposited into the global iPROVE vault, which mints iPROVE tokens.
  3. iPROVE is deposited into the chosen prover-specific vault, which mints stPROVE tokens.
  4. stPROVE tokens are minted to the staker as receipt tokens.

As a result, the prover vault holds iPROVE, giving the prover voting weight in the SuccinctGovernor contract. The staker holds stPROVE, redeemable for their proportional share of the vault.

Staking Rewards

Staking rewards come from two sources:

1. Prover Revenue Share. Stakers earn a fraction of their chosen prover's revenue proportional to their stake in the vault. This creates a direct economic alignment between stakers and provers.

2. Additional Incentives. The network dispenses additional incentives provided by the Succinct Foundation, aimed to supplement staking rewards during the network's early growth phase, helping to attract participation while the ecosystem is still being bootstrapped.

These incentives are distributed passively to stakers without any additional actions required:

  1. The staking contract SuccinctStaking will have PROVE tokens deposited into it by the Succinct Foundation.
  2. A time-based dispenser periodically calls dispense() on SuccinctStaking and dispenses tokens based on the time elapsed since the last call and the DISPENSE_RATE.
  3. PROVE tokens are streamed directly into the global iPROVE vault.
  4. As the vault's share price increases, all stakers' stPROVE tokens automatically accrue rewards.

Unstaking

To unstake from a prover, the staker calls requestUnstake(stPROVE) on the SuccinctStaking contract. This creates a claim with an iPROVE snapshot at current prices and starts an unstaking countdown that ends after a delay period.

At the end of the countdown, the stPROVE tokens are burned and the staker's iPROVE is withdrawn from the prover vault. The staker's PROVE is then transferred back to them.

Slashing

To slash a prover, the settlement layer, SuccinctVApp, files a requestSlash(prover, iPROVE) based on evidence of misbehavior. This specifies the amount of iPROVE to be slashed. This call burns the specified amount of iPROVE and proportionally reduces every staker's position in the prover vault.