Validator Node Rewards
Sui uses a delegated proof-of-stake (DPoS) system, where validators receive voting power from SUI token holders who delegate their stake. At the end of each epoch, validators receive rewards based on their performance and commission rate. Rewards auto-compound because validator staking pools receive new delegated stakes.
The total voting power on Sui is always 10,000, regardless of the amount staked. Therefore, the quorum threshold is 6,667. There is no limit to the amount of SUI users can stake with a validator. Each validator has consensus voting power proportional to SUI in its staking pool, with one exception: the network caps the voting power of an individual validator at 1,000 (10% of the total). If a validator accumulates more than 10% of total stake, the validator's voting power remains fixed at 10%, and the network spreads the remaining voting power across the rest of the validator set.
Staking on Sui compared to other blockchains
The Sui staking mechanism includes features that differ from other blockchains:
- Staking is self-custodial. You keep your staked SUI tokens in an owned object.
- Staking rewards auto-compound because of the liquidity-pool-inspired design.
- A new stake begins contributing to a validator's voting power starting the epoch after you create it. Similarly, a withdrawn stake stops contributing starting the epoch after withdrawal.
Validator staking pool requirements
There are minimum staking requirements a validator must satisfy to become active and to stay in the active validator set.
Stake requirements
The Sui network is rolling out SIP-39, which will significantly lower the barrier to entry for validators. Instead of requiring a minimum amount of SUI tokens, validators will need a minimum amount of voting power.
When fully rolled out, SIP-39 will mean the following validator requirements:
- A validator candidate must accrue at least 3 voting power before they can request to join the validator set.
- If an active validator's stake falls below 2 voting power, they have seven epochs of grace period to gain back the stake before being removed from the validator set.
- If an active validator's stake falls below 1 voting power, they are removed from the validator set at the end of the current epoch boundary. Sui uses 24-hour epochs.
For more information on voting power, see Understanding the voting power formula.
Want to be a Sui validator?
If you have the required stake and plan to operate a validator on Sui, your participation is welcome and Sui is committed to supporting your onboarding. Kindly complete this form to be added to our Validator Discord and keep up with upcoming validator releases and technical support.
User staking and rewards
When you stake SUI tokens, the tokens are wrapped into StakedSUI objects. Your share of the staking pool is calculated using the timestamp of your StakedSUI object, which records when the deposit occurred, along with the change in exchange rates between the deposit epoch and the withdrawal epoch.
Each staking pool maintains a time series of its exchange rates. The system uses this data to determine the correct withdrawal amount for any staker in the pool.
Find the exchange rate
Each epoch change emits a 0x2::validator_set::ValidatorEpochInfo event per validator with the exchange rate information. Use the Events API to query these events.
Reward distribution
A stake deposit request goes into a pending state immediately in the staking pool. Wallets like [Slush] reflect any pending stake deposit requests for your account.
At the end of each epoch, the network distributes collected gas fees and stake subsidies among validators and stakers as staking rewards. The rewards a validator receives depend on:
-
Performance: If a validator does not operate performantly, other validators can report them through the tallying rule. The network then slashes the reported validator's staking rewards for that epoch.
-
Commission rate: The commission rate determines the portion of staking rewards the validator keeps. For example, if a validator has a 10% commission rate, then 10% of the staking rewards of their stakers go to the validator each epoch as new stake objects owned by the validator.
Rewards withdrawal
The network distributes validator rewards as regular stake objects, so withdrawal works the same for validators and stakers. A validator can call the request_withdraw_stake function in the sui_system module to withdraw stake and receive rewards.
Stake withdrawals process immediately using the previous epoch's exchange rate. Withdrawals do not have to wait for the current epoch to close. Withdrawals include both the original stake you deposited and all the stake rewards accumulated up to the previous epoch. You do not earn the rewards accruing to your stake during the epoch at which you withdraw. Because there is no way to know how many stake rewards accumulate during the current epoch until the epoch closes, the withdrawal cannot include them. You can withdraw your stake immediately and receive: