Skip to main content
Validators stake SAFE toward their own Validator address using the Staking contract. They connect their Validator to their staking address by setting the Staker on the Consensus contract. Validator self-stake and delegated stake use the same deposit and withdrawal mechanics, but only Validator self-stake counts toward the minimum self-stake requirement. Validators earn 5% commission on rewards generated by delegated stake. → See: Staking rewards for the full reward and commission split.

Minimum Validator stake

Validators must maintain a minimum average stake of 3,500,000 SAFE over each reward period to be eligible for Validator rewards. The average is time-weighted: tokens staked for the full period count fully; tokens added mid-period contribute proportionally. → See: Staking rewards for how the time-weighted average is calculated and how it affects reward allocation.

Validator penalties

In Safenet Beta, staked tokens cannot be confiscated. There is no slashing. Validators are subject to two reward penalties only. Participation threshold: If a Validator’s participation falls below 75% in a reward period, no rewards are generated for that Validator or any of its Delegators for that period. Self-stake requirement: If a Validator’s average self-stake falls below 3,500,000 SAFE, the Validator forfeits its own reward share for that period. Delegator rewards are unaffected. → See: Is my stake at risk? for smart contract risk, audits, and future slashing plans.

How to stake

Via the staking interface Choose one of the available staking interfaces.
  1. Connect your wallet to the staking interface
  2. Navigate to the Validator staking section
  3. Enter the amount of SAFE to stake toward your Validator address
  4. Approve the SAFE token transfer
  5. Confirm the staking transaction
Your stake is active once the transaction is confirmed. You can monitor your balance and reward eligibility in the Explorer.
Validators need to set the STAKER_ADDRESS in their environment so their Gnosis Chain Validator address is connected to their Ethereum staking address.
Via the contract directly For Validators who prefer to interact with the contract without a UI:
// 1. Approve the Staking contract to spend your SAFE
IERC20(SAFE_TOKEN_ADDRESS).approve(STAKING_ADDRESS, amount);

// 2. Stake toward your Validator address
Staking(STAKING_ADDRESS).stake(ValidatorAddress, amount);
If your wallet supports batch transactions, both steps can be combined into one.