Via the Lido protocol, stETH holders receive rewards (or penalties) from staking based on the performance of Lido-participating validators in Ethereum’s proof-of-stake network. As stETH is a rebasing token, rewards are continuously (on a daily basis) reflected in your stETH balance, providing a seamless staking experience. For users who prefer a value-accruing token approach, stETH can also be wrapped into wstETH.
How Rewards and Penalties Are Calculated
The Lido oracle mechanisms are responsible for maintaining the connection between the Execution Layer and Consensus Layer portions of the Lido protocol. As a part of this set of activities, oracles synchronize data between the Execution and Consensus Layers, reflecting validator rewards and penalties for stETH holders via the daily rebase mechanism.
Validators earn rewards by proposing and attesting to new blocks, activities critical to Ethereum’s security. Rewards and penalties are determined algorithmically by the Ethereum consensus mechanism and depend on factors like validator uptime, correctness, and timeliness of duty performance, and general network conditions. Validator rewards come in two forms:
- Consensus Layer rewards: Determined by network rules, these include block proposal and attestation rewards, distributed predictably based on validator performance.
- Execution Layer rewards: These dynamic rewards include transaction tips (priority fees) and possible Maximal Extractable Value (MEV) rewards, which depend on demand for blockspace, network congestion, and block building effectiveness.
MEV and Lido Validators
MEV (Maximal Extractable Value) refers to additional rewards earned by validators through optimized transaction ordering in block proposals. Using tools such as MEV-Boost, validators can outsource block building activities to block builders and MEV searchers to capture extra value. For blocks proposed by Lido validators, MEV rewards are sent by builders to the Lido Execution Rewards Vault, meaning that this income benefits both node operators as well as stETH holders. Validators follow block proposal requirements set by the Lido DAO, which guides which guides how stakers are rewarded while maintaining network fairness.
stETH token rebase
The stETH balance updates automatically to reflect the portion of rewards earned or penalties incurred by the wider Lido validator set, ensuring that the staker's balance updates automatically without any required user action. This process, known as a token rebase, occurs daily around 12:30 UTC based on data provided by the Lido AccountingOracle, though the exact timing may vary.
The oracle report supplies the protocol with validator states, facilitates stETH withdrawal requests, and adjusts the total stETH supply (reflecting the rewards or penalties accrued by the validators underlying the protocol). The rebasing process algorithmically updates balances to account for:
- Staking rewards (or penalties, including possible slashings) from the Consensus Layer,
- Execution Layer rewards collected,
- Changes due to fulfilled withdrawal requests. In Lido, stETH rebases using a shares-based system. Instead of tracking individual balances directly, the protocol records the share of the total pool owned by each account. Your balance is calculated as:
balanceOf(account) = shares[account] * totalPooledEther / totalShares
Oracles
The Lido protocol utilizes oracles to bridge the communication gap between Ethereum’s Execution Layer, where the Lido smart contracts reside, and the Consensus Layer, where validators function. This mechanism is required due to the limited native channels between the two layers. Oracles supply the protocol with real-time validator states, balances, and additional off-chain data necessary for protocol functionality.
Oracles work by gathering data using deterministic algorithms, with a quorum of 5 out of 9 participants required to validate and deliver reports to the protocol. Built-in safety mechanisms verify Oracle data to prevent disruptions caused by anomalies or malicious inputs.
Key oracles in the protocol include:
- AccountingOracle: Handles updates to the protocol’s accounting balances, including rewards, penalties, withdrawal finalization, and historical data. Reports are generated daily around 12:30 UTC.
- ValidatorsExitBusOracle: Alerts node operators to initiate validator exits, enabling users to withdraw ETH. Reports are provided three times daily, approximately at 12:30, 20:30, and 4:30 UTC.
- CSM Performance Oracle: Dedicated to the Community Staking Module (CSM), it tracks detailed node operator performance metrics to fairly distribute rewards based on participation.