# stETH APR Compared With rETH, weETH and Other LSTs

> stETH APR next to rETH, weETH, cbETH and other liquid staking tokens: realized 7-day and 30-day yields from exchange rates at pinned blocks, with supply.

Markdown copy of https://voltfincrypto.com/apps/steth-apr-liquid-staking-yields

**Question:** What APR has each ETH liquid staking token actually paid over the last 7 and 30 days?

- Kind: Table in Voltfin Strata
- Topic: [Staking and restaking](https://voltfincrypto.com/topics/staking)
- Chains: Ethereum
- Status: Planned. The data is not published yet, so this page states no figure; each figure will open its receipt when it is.

A liquid staking token earns its yield through an exchange rate: each wstETH, rETH or weETH is worth more ETH over time as staking rewards accrue. This table reads that rate from each token's contract at two pinned blocks and turns the change into a realized APR over 7 and 30 days, so the figure is what holders actually received after the protocol's fee.

Rates are read on Ethereum, where each token is minted and redeemed; bridged copies on layer 2s are claims on the same token and are not listed again. Sort by 30-day APR to compare tokens or by supply to see the largest, and open any cell to see the two reads behind it.

## Blueprint

One row: One row per ETH liquid staking token, on the latest complete day

- **Token** (`token`): The token's name and symbol, linked to its contract on Ethereum.
- **Protocol** (`protocol`): The protocol that issues the token and redeems it for ETH.
- **APR, 7 days** (`apr_7d`): Realized APR over the last 7 days, from the token's exchange rate at the window's start and end blocks.
- **APR, 30 days** (`apr_30d`): Realized APR over the last 30 days, measured the same way.
- **Exchange rate** (`exchange_rate`, ETH): ETH per token at the day's last block, from the token's own rate function.
- **Supply** (`supply`, tokens): totalSupply() at the same block, scaled by decimals, as an exact amount.
- **ETH represented** (`eth_backing`, ETH): Supply times the exchange rate: the ETH the token's holders can claim.
- **Protocol fee** (`protocol_fee`): The share of staking rewards the protocol keeps, read on-chain where set there and otherwise from its documentation.
- **Rate type** (`rate_type`): Whether the token rebases or accrues through an exchange rate, and the function this table reads.
- **Receipt** (`receipt`): The two blocks, their hashes and the calls behind the row's APR.

## How it will be measured

- Each token's ETH value is read from its own rate function at the last block of each day: stEthPerToken() for wstETH, getExchangeRate() for rETH, getRate() for weETH and exchangeRate() for cbETH.
- Realized APR is the change in that rate between two pinned blocks, divided by the earlier rate and scaled to a year by the time between the two block timestamps.
- Rebasing tokens such as stETH are measured through their wrapped form, whose rate captures the same rewards as the daily balance changes.
- The protocol fee is the share of staking rewards the protocol keeps, read on-chain where it is set there (for Lido, from TokenRebased events) and otherwise taken from the protocol's documentation and marked as documented.
- Every rate carries a receipt: the block, its hash and the call that returned it.

## Data it needs

- `lst_rates_daily` (to build): Exchange rates of liquid staking and restaking tokens (wstETH, rETH, cbETH, weETH and others) at day end, and the realized yield they imply.
- `token_supply_daily` (to build): Total supply of each registry token on each chain at day end: wrapped BTC, liquid staking tokens, tokenized assets and other tracked tokens.
- Source: wstETH stEthPerToken() at day-end blocks
- Source: rETH getExchangeRate(), weETH getRate() and cbETH exchangeRate() at the same blocks
- Source: mETH mETHToETH(), ETHx getExchangeRate() and the rate getters of other registry tokens
- Source: Block timestamps of each window's start and end blocks
- Source: Lido TokenRebased events for the share of rewards minted as fees
- Source: totalSupply() of each token at the end block

## Questions

### What is the stETH APR?

It is the yield stETH holders received over a period, measured from the change in wstETH's stEthPerToken() between two blocks and annualized. It already reflects Lido's fee on rewards, so it is lower than the gross yield of the validators behind it.

### Why do liquid staking tokens pay different APRs?

They differ in fees, in how much ETH waits unstaked in buffers or withdrawal reserves, in validator performance and in extra strategies some of them run. The realized APR captures all of these at once, because it only reads what the exchange rate did.

### What is the difference between the 7-day and 30-day APR?

The 7-day APR responds quickly to busy weeks with high fees and MEV, and to timing effects such as when oracle reports land. The 30-day APR smooths those out. Reading both shows whether a token's yield is changing or only noisy.

### How does stETH differ from wstETH?

stETH rebases: holders' balances grow each day as rewards are reported. wstETH wraps stETH into a token with a fixed balance whose exchange rate rises instead, which suits DeFi contracts and bridges better. Both earn the same rewards.

### Can a liquid staking token's exchange rate go down?

Yes, if the protocol reports a loss, for example from slashing or penalties larger than rewards. A falling rate shows here as a negative realized APR for the window, with the blocks where it happened.

## Glossary

- **Liquid staking token**: A token that represents staked ETH and can be traded or used in DeFi while the ETH behind it stays in validators.
- **Exchange rate**: How much ETH one unit of a non-rebasing liquid staking token is worth, as reported by its own contract.
- **Rebasing**: A token design where holders' balances change on their own as rewards accrue, instead of the token's exchange rate rising.
- **Realized APR**: The yield actually earned between two dates, measured from on-chain rates, rather than a rate a protocol announces in advance.

## Related apps

- [ETH Staking APR: Validator Rewards and Yield](https://voltfincrypto.com/apps/eth-staking-apr)
- [Liquid Staking Market Share: stETH, weETH, rETH](https://voltfincrypto.com/apps/liquid-staking-market-share)
- [Liquid Restaking Tokens: Backing and Exchange Rates](https://voltfincrypto.com/apps/liquid-restaking-backing)
- [Yield-Bearing Stablecoins Compared: APY and Supply](https://voltfincrypto.com/apps/yield-bearing-stablecoins-compared)
- [Staking Yield and Staking Ratio by Chain](https://voltfincrypto.com/apps/staking-yield-by-chain)
- [Total ETH Staked and Ethereum Staking Ratio](https://voltfincrypto.com/apps/total-eth-staked)

Build it in Voltfin Studio: https://app.voltfincrypto.com/signup?next=%2F
