Lidofinance stETH rebases adjust the token balance represented by your shares
Lidofinance stETH rebases update the token balance represented by your existing shares. An ordinary holder’s share count stays unchanged during this accounting adjustment. Staking rewards can increase the stETH each share represents, while losses can reduce it. The change takes effect when the protocol applies an accounting report, normally once a day. No separate reward transfer arrives in your wallet. A higher token count also does not set the amount of ETH available through a market swap.
The receiving application’s balance model comes first
An application’s treatment of rebasing balances determines whether native stETH or its wrapped form, wstETH, fits the position. Native stETH exposes the changing balance directly, while wstETH keeps its token count unchanged during rebases. The wrapper’s conversion into stETH follows the share rate. A static wstETH count therefore does not indicate missing staking rewards. Wrapping changes how the position appears and integrates, without creating a separate staking reward stream.
The relevant compatibility question is whether the application supports the chosen token and its accounting behavior. Native stETH needs handling for balance changes between transactions; support for a fixed-balance token does not establish correct handling of rebases.
What stays unchanged when stETH rebases?
For an ordinary holder, a rebase preserves the number of existing shares and changes the stETH balance those shares represent.
Stored shares and calculated balances
The contract stores shares for each address and calculates its token balance from the current conversion. In contract terms, balanceOf(account) = getPooledEthByShares(sharesOf(account)). A larger amount of stETH per share raises the calculated balance without adding shares to that address. The conversion rounds down to integer token units. Wallets can consequently display different amounts over time while their stored share counts remain unchanged.
Changes to the pool-wide share count
Unchanged personal shares do not mean the total share count remains fixed. Deposits, token minting, and burns can change protocol totals. Fee recipients receive newly minted shares during reward distribution, a distinct share movement the report can process alongside a rebase. Reward analysis therefore needs the change in conversion, not an assumption that every supply increase belongs to existing holders.
The contract values behind a rebase
Shares, ETH backing, and displayed stETH amounts use different accounting units. Share counts are integers; backing uses wei, and stETH balances use the token’s smallest units. The contract’s decimal precision sets how software converts base units into a displayed stETH amount.
| Accounting parameter | Value or rule | Role in the calculation | Accounting error to avoid |
|---|---|---|---|
| Holder shares |
sharesOf(account): the address’s integer share count
|
Existing shares stay unchanged by a rebase alone | Treating a share as a fixed amount of stETH |
| Total shares |
getTotalShares(): internal plus external shares
|
The total can change through minting and burning | Assuming the pool’s share count always stays fixed |
| Total ETH backing |
getTotalPooledEther(): aggregate backing in wei
|
Includes internal and external ETH accounting | Reading all backing growth as staking return |
| External shares |
getExternalShares(): outstanding shares minted against stVault collateral
|
Separate from the internal share denominator | Counting external shares as internal pool shares |
| Account token balance |
getPooledEthByShares(sharesOf(account))
|
Converts stored shares into rounded stETH base units | Reading an old token amount as the present balance |
| Token precision | 18 decimal places | Scales base units into displayed stETH amounts | Mistaking a rounded display for the full balance |
Lido V3 separates internal pool accounting from external shares minted against stVault collateral. The native conversion uses internal ETH and internal shares, avoiding an extra rounding step through aggregate totals. getPooledEthByShares returns that applicable conversion directly; recreating it from an aggregate backing ratio can lose precision.
When does a rebase reach the stETH balance?
A rebase takes effect when the protocol applies its accounting report. The normal reporting cadence is daily, with timing dependent on successful report processing.
Report data and the applied balance
AccountingOracle obtains agreed data on validator balances and the execution-layer rewards vault balance, and the Accounting contract applies the resulting protocol updates. The report represents a defined reference state; its transaction records when the protocol applied that information. A holder does not need to submit a reward claim or pay a personal transaction fee for this automatic adjustment.
Delayed reports and unchanged displays
A report can arrive late without changing the period it covers. If a reporting frame is missed, a subsequent successful report covers the longer interval since the preceding report. Missing consensus or Ethereum finality can interrupt updates. Report validation can also prevent an unacceptable report from taking effect. Separately, wallet software can display cached or rounded balances. Compare the displayed amount with balanceOf(account), accounting for the wallet’s display precision. If no new accounting report has been applied, wait for processing before expecting that report’s rebase. An unchanged display therefore does not establish a failed rebase, and a missing incoming transfer is normal for this mechanism.
Rewards, penalties, and fee shares shape the net change
The net rebase reflects staking performance after applicable accounting adjustments, so it cannot supply a permanent daily reward amount.
Validator income and losses
Validators earn consensus-layer rewards for duties such as attestations and block proposals. Execution-layer income includes transaction priority fees and maximal extractable value, or MEV. Network conditions and validator performance change the amount the protocol receives, while penalties and slashing can reduce backing and cause a negative rebase. Other protocol adjustments, including withdrawal-related burns and stVault bad-debt internalization, also enter accounting.
Fee shares and the holder’s return
Lido Core collects its staking reward fee by minting shares to fee recipients. This changes the division of rewards among holders and those recipients. Governance sets the fee configuration, including its distribution through staking modules. The protocol mints no reward-fee shares when the report’s net consensus-layer return is zero or negative, even if it also collects execution-layer rewards. A holder’s post-report balance already reflects the applicable fee accounting. Taking another protocol reward-fee deduction from that net balance increase would count the same charge twice. Network transaction fees for transfers or wrapping remain separate costs.
Transfers move shares and can leave token dust
An stETH transfer converts the requested token amount into shares before moving those shares between addresses. Integer division can leave a tiny difference between the requested amount and the recipient’s balance change. The discrepancy comes from share conversion and rounding. The protocol does not charge a separate stETH transfer fee. Submitting a nominal full-balance amount can also leave residual token dust whose size depends on the share conversion and rounding.
transferShares moves an exact share quantity and avoids the token-to-share conversion step. Its output still expresses transferred value through the current token conversion. The separate transferSharesFrom method uses an allowance for the token value of the selected shares. Application support determines whether a share-based transfer is available through its interface.
Why can more stETH still buy less ETH?
A positive rebase can increase the stETH balance while a market swap yields less ETH because market pricing and execution costs move independently. Secondary-market liquidity, trade size, and venue fees affect the conversion a swap offers. Ethereum gas adds a separate execution cost. Protocol withdrawals use their own accounting and queue conditions, which differ from a market quote. The stETH quantity shown in a wallet describes a token holding, while spendable ETH reflects the chosen exit method and its costs. A displayed staking annual percentage rate (APR) expresses an annualized return; it does not fix each subsequent rebase.
Contract-held stETH follows the application’s reward accounting
The address holding stETH receives the balance adjustment, so depositing tokens into another contract changes where the rebase appears. A lending or pool position may represent that holding through a receipt token or internal balance. The application’s accounting determines how underlying gains and losses reach that position. Rebase support in the stETH contract does not ensure another application credits every adjustment correctly. Transaction-only bookkeeping can miss changes occurring between explicit transfers.
The protocol withdrawal queue gives a concrete exception to continued reward accrual. A queued request does not receive staking rewards for the waiting period, even while the queue contract holds rebasing stETH. Finalization burns those accumulated rewards for the benefit of remaining holders. The queue records the request-time stETH amount as an upper limit on its ETH claim. The claim remains subject to protocol loss accounting, so stopping reward accrual does not remove that exposure. The receipt representing that claim is the unstETH withdrawal NFT.
Lidofinance stETH: frequently asked questions
Does an stETH rebase increase an existing spending allowance?
A rebase does not increase the stETH allowance an owner has granted to a spender. The allowance uses token units and remains separate from the changing balance. A fixed approval can therefore cover less than the owner’s entire balance after a positive rebase. A higher balance alone does not authorize additional spending.
When does the receiving address start participating after an stETH transfer?
The receiving address participates in subsequent rebases once the transfer succeeds and it holds stETH. The token does not create a fresh personal staking schedule for each recipient. Its balance follows the same share conversion as other holders. The address must still hold the relevant shares when the accounting adjustment takes effect.
Are staking rewards on stETH automatically compounded?
The pooled staking system compounds stETH staking rewards without requiring holders to reinvest each balance increase. Collected rewards not needed for withdrawals are restaked through the protocol. This reinvestment occurs within pooled accounting; an increase in the displayed balance is not a separate reinvestment transaction from your wallet.
Which calculation isolates the return from a rebase?
For unchanged shares, the rebase return is the proportional change in the stETH-per-share conversion, before integer-rounding effects. Divide the later conversion rate by the earlier rate, then subtract one. Deposits, transfers, and other share movements require separate treatment when assessing an account’s total balance change.
Can a negative stETH rebase reduce the amount obtained by unwrapping wstETH?
A negative stETH rebase can reduce the stETH obtained by unwrapping an unchanged wstETH balance. A lower stETH-per-share conversion reduces the amount represented by those wrapped tokens. Wrapping changes the accounting format; it does not remove the staking losses reflected in the underlying conversion.