Protocols

Valuing stETH and Liquid Staking Positions

Rebasing and wrapped staking tokens need different valuation logic. Why stETH balances change with no transaction, and how wstETH breaks naive pricing.

Octav Team2 min read
Banner: stETH rebases. wstETH does not.

Protocols covered

  • Lido liquid staking logoLido
  • Lido staked ether token logostETH
  • Jito staked SOL logoJito
  • Marinade liquid staking logoMarinade
  • Solana blockchain logoSolana

Liquid staking tokens look like ordinary ERC-20s and behave like nothing of the sort. Two mechanisms — rebasing and wrapping — each break a different assumption that portfolio tooling makes.

Rebasing: the balance changes on its own

stETH is a rebasing token. Staking rewards are distributed by increasing every holder's balance, so the number in your wallet grows without any transaction ever touching it.

Three consequences:

AssumptionWhy it breaks
Balance changes come from transfersRebases produce no transfer event
Cached balances stay validA cached balance is stale by design
Every increase is income to be bookedRebases are continuous, not discrete events

For reconciliation, the last row matters most: a system that books every balance increase as a receipt will manufacture thousands of phantom income events from a single stETH position.

Wrapping: the balance does not change, the value does

wstETH solves the rebasing problem by doing the opposite. The balance is fixed; the exchange rate to stETH increases over time.

This trips a different wire. wstETH is not worth the same as ETH, and never was. Its correct value is:

value = wstETH balance × (stETH per wstETH) × ETH price

Price wstETH at the ETH price and you understate the position by the entire accumulated staking yield since the wrapper launched — a gap that grows every day and looks like nothing in particular.

The general rule

Token typeCorrect valuation
Rebasing LST (stETH)Live balance × underlying price
Wrapped LST (wstETH, jitoSOL, mSOL)Balance × exchange rate × underlying price
Native stakedStake account value, including pending rewards

The wrapped case is where the error is silent. There is no exception thrown, no missing field — just a number that is quietly and increasingly too low.

The same pattern applies on Solana with jitoSOL and mSOL, covered in Tracking Solana DeFi Positions.

Depegs and withdrawal queues

An LST's market price can diverge from its redemption value. Which number is "correct" depends on what the portfolio is for:

  • Mark-to-market reporting wants the price you could actually sell at today.
  • Fund accounting may prefer redemption value where redemption is available.

Neither is universally right, but a portfolio system should be explicit about which one it uses. If your provider ships a price source per asset, you can check — which is the practical answer to the question of which number a report is built on.

Withdrawal queues add a further wrinkle: an LST in the process of being unstaked may be neither liquid nor yet redeemed, and its treatment should be consistent with how you handle other locked positions.

Checking a provider

For a wallet holding both stETH and wstETH:

  • Does the wstETH value exceed a naive balance × ETH price? It should.
  • Does the stETH balance reflect the current rebased amount?
  • Is the price source visible, so you can tell market price from redemption value?

Keep reading

  • Banner: Supply, debt and the health factor
    Protocols

    Tracking Aave Positions: Supply, Debt, Health

    Aave supplies and borrows are separate tokens with independent balances. How to net them into a real position, and why health factor belongs in risk data.

    2 min read

  • Banner: Your LP position is an NFT, not a balance
    Protocols

    Valuing Uniswap V3 Concentrated Liquidity

    A Uniswap V3 position is an NFT whose composition changes with price. Why a token balance tells you nothing, and what has to be computed to value one.

    2 min read

  • Banner: PT converges. YT goes to zero.
    Protocols

    Tracking Pendle PT and YT Positions Correctly

    Pendle splits a yield-bearing asset into principal and yield tokens with different valuation curves. Pricing either at spot gives the wrong number.

    2 min read