Owlio
EN
← Blog
How-toBeginner

stETH vs wstETH: why your wstETH balance stays the same

An unchanged wstETH token count does not mean rewards are missing. Compare the token balance with its current stETH equivalent, then check valuation separately.

On Ethereum Mainnet, stETH can change your token balance through a rebase. Canonical wstETH does not rebase its token count; staking accounting changes the amount of stETH represented by each token. Transfers, wrapping and unwrapping can still change how many wstETH tokens you hold. An unchanged wstETH balance therefore does not, by itself, mean staking rewards are missing.

To compare two screens, establish whether each shows wstETH tokens, stETH equivalent or a dollar estimate. Then check the same wallet, network and observation time. This guide inspects existing wallet-held tokens on Ethereum; it does not choose a staking investment or execute a transaction.

What changes in stETH and wstETH?

Lido describes stETH as a token representing a share of ETH staked through its protocol. Its balance reflects staking accounting through rebases. With wstETH, that exposure is expressed through a wrapper: the token count stays fixed unless an operation changes your holding, while its stETH equivalent changes with the conversion rate.

Measurement stETH wstETH
Wallet token count Can change through a rebase Does not rebase
What to compare Current stETH amount Token count and stETH conversion rate
Reward accounting Reflected in the balance Reflected in stETH per token
Dollar value Requires a price quote Requires a price quote

Rebasing is not an incoming payment you must find in a transfer list. Lido’s integration guide explains that stETH rebases do not emit ordinary Transfer events. Reconstructing the current balance using transfer history alone can therefore miss these changes.

This wrapper is different from canonical WETH’s 1:1 ETH conversion. If your question is which asset pays gas, read the ETH and WETH balance guide. Here the question is how to read staking exposure when its representation changes.

Conceptual comparison: stETH quantity can change in either direction; wstETH keeps its token count while its stETH conversion measure changes.
Accounting models, not a wallet screenshot or a numerical exchange ratio: variable stETH quantity on the left, fixed wstETH count and changing conversion measure on the right.

A fixed token count can represent a different amount

Suppose you hold 2 wstETH. Use a hypothetical rate of 1.20 stETH per wstETH:

2 wstETH × 1.20 stETH/wstETH = 2.40 stETH equivalent.

At a later hypothetical rate of 1.21 stETH per wstETH, the same token count represents 2.42 stETH. These numbers illustrate the units. They are not observed rates, prices or a forecast of yield.

A wallet displaying 2 wstETH and a dashboard displaying 2.40 stETH equivalent can describe the same holding at the first rate. Adding them as two separate holdings would count the exposure twice. Keep the wrapper amount and its equivalent on one accounting row.

If your address separately holds unwrapped stETH, that is another balance to record. Distinguish actual stETH held at the address from stETH shown only as an equivalent of the wstETH already counted.

Check your holding without moving it

Start with your known public wallet address and the network where you received the tokens. You can inspect public balances without entering a recovery phrase or signing a transaction.

  1. Confirm the token identity. Record Ethereum Mainnet and the full token contract address. Match it to Lido’s official deployed-contract list, not a ticker or an unsolicited token link.
  2. Read the current wallet amount. Label it stETH or wstETH explicitly. Keep the observation time and, where available, the block number beside it.
  3. For wstETH, read the conversion rate. The integration guide documents stEthPerToken() as the amount of stETH represented by one wstETH. Use the verified contract’s read-only information, and record its units and observation time. The contract reference identifies this as a view method returning an integer. A raw base-unit integer is not a human-readable rate: check the documented decimals or use a clearly formatted stETH-per-wstETH display. If you cannot establish the units, leave the rate unknown.
  4. Align the observations. Prefer the balance and rate from the same block. If your tools cannot do that, note their timestamps and the limitation. An old screenshot paired with a fresh rate is not an exact reconciliation.
  5. Calculate the equivalent once the units are clear. Multiply the wstETH token count by stETH per wstETH. Keep sufficient precision before rounding the displayed result.
  6. Compare the other screen’s label. Determine whether it shows token count, converted exposure or fiat value. A mismatch between different units is not evidence of missing funds.

Use a small worksheet to make the comparison inspectable:

Field Record
Identity Network, wallet and token contract
Holding Quantity and token unit
Snapshot Time and available block number
Conversion stETH per wstETH and its snapshot
Result stETH equivalent of this holding
Valuation Currency, price source and quote time

Leave an unavailable field unknown. Do not insert today’s guessed rate or replace a missing price with zero. This worksheet organizes your records; it is not a live contract query performed by this article.

Check timing, penalties and price separately

Lido accounting depends on oracle reports; a normal daily rebase is not a promise that every screen updates at the same minute. Refresh the relevant record and inspect its timestamp before treating a short delay as lost rewards.

Rewards are also not guaranteed to increase the balance. Lido’s rewards and penalties explanation describes both sides of staking accounting. Penalties can reduce exposure. A fixed wstETH count protects neither the represented amount nor its market value from decreases.

The conversion calculation above answers how much stETH the wrapper represents. It does not answer how much someone would pay to buy it, or when native ETH could be received through withdrawal. A dollar comparison needs a market quote with a stated asset, currency and time. Keep that quote separate from the contract conversion rate.

What changes on another chain or in a tracker?

Do not apply the Ethereum contract check unchanged to another network. A bridged token needs its own verified deployment, origin and bridge representation. Lido’s bridging risk guide explains why the chain and route matter. An identical name is insufficient to establish the same backing or behavior.

Owlio 1.1.0 reads public addresses and shows some staking exposure represented by wallet tokens. That does not establish a complete view of every DeFi position or a breakdown of staking rewards. Keep the verified balance and conversion record beside the tracker, and use the portfolio discrepancy checklist when data or pricing is missing.

Your check ends with one identified holding, its token quantity and a dated equivalent where applicable. If two screens still disagree in the same units at the same snapshot, record that specific difference. A wrap, swap or withdrawal is a separate decision; it is not required to explain the display.

Frequently asked questions

Why does my wstETH balance stay the same?

For canonical wstETH on Ethereum, staking accounting changes the amount of stETH represented by each token rather than rebasing your wstETH token count. Transfers, wrapping and unwrapping can still change that count. Read the current conversion rate to compare its stETH equivalent.

Is one wstETH equal to one ETH?

No. The amount of stETH represented by one wstETH depends on the protocol conversion rate. That rate is not a market sale quote, a guaranteed return or proof that the same amount of native ETH can be withdrawn immediately.

Can stETH or the wstETH conversion rate decrease?

Yes. Lido staking accounting includes penalties as well as rewards, so a stETH rebase can be negative. A fixed wstETH token count does not guarantee that its stETH equivalent or dollar value will increase.