Crypto staking calculator
Compound a staking reward at the frequency you choose, then net it against supply issuance to see what the position did to your share of the network rather than to your token count.
Rates are prefilled from a build time DeFiLlama pull with base and reward APY kept apart. Every calculation runs in your browser.
Nominal reward and real yield
Pools fetched UTC
- Nominal effective annual
- 2.318%
- Rate per period
- 2.318%
- Compounding steps
- 5
- Growth multiple
- 1.121399x
- Break even issuance
- 2.318%
- Starting value
- $256,473.00
- Supply share balance in ETH
- 112.139912
- Supply share change
- 12.14%
- Supply share value
- $287,608.60
lido STETH
Ethereum- Total value locked
- $24.85B
- Headline APY
- 2.318%
- Base APY
- 2.318%
- Reward APY
- Not reported
- Reward share of headline
- Not reported
- 30 day mean APY
- 2.25%
- Today against 30 day mean
- +0.068%
- Underlying asset
- ETH Ethereum
- Spot price used
- $2,564.73
- Undistributed supply
- Not available
Base APY is what the pool pays from protocol revenue or consensus rewards. Reward APY is a token emission that a protocol can reduce or end. Undistributed supply is the share of total supply that is minted but not yet circulating, which is a distribution overhang and not an issuance rate.
Fundamentals overlay
Research snapshot 2026-09-18- ETH score
- 187 of 250
- Verdict
- HOLD CORE
- Staking yield sub score
- 7 of 10
- Supply inflation sub score
- 7 of 10
Sub scores run to 10 and the composite aggregates 25 variables. They are a dated read of fundamentals on the stated date, not a live figure and not a forecast.
Nominal yield against real yield
A staking reward paid in the staked token adds tokens to a balance. It does not, on its own, add ownership. If a network mints new supply at roughly the rate it pays stakers, a validator who stakes and a holder who does not both end the year owning close to the same share of the network they started with, and the staker simply avoided being diluted. That is the reason this page prints two numbers where the ranked results print one.
The nominal figure is the pool APY as the provider reports it. The real figure divides one plus that yield by one plus the annual supply issuance and subtracts one, which restates the ending balance as a share of total supply rather than as a token count. Set issuance equal to the yield and the real figure goes to zero even though the token balance still grew. Set issuance above the yield and the real figure goes negative while the balance keeps rising, which is the case a token denominated calculator cannot show at all.
The break even issuance rate is the third output. It is the annual issuance at which the reward exactly cancels, and it equals the effective annual yield after compounding rather than the rate typed into the box. Those two agree only when the compounding frequency is annual, which is why the frequency control defaults there. 51 pools are embedded in this page and every one of them is run through the same transform.
Why the issuance field starts empty
The issuance box defaults to zero and nothing prefills it. That is deliberate. This page fetches market data and pool yields at build time, and neither of those feeds carries an annual issuance rate for a proof of stake network. Filling the field from a supply ratio would produce a plausible looking number that was not measured, and a wrong denominator here changes the sign of the answer. An empty field the reader fills in knowingly is worth more than a confident number nobody sourced.
The rate is obtainable, it just has to come from the chain. A Solana node answers the JSON RPC method getInflationRate with the current total, validator and foundation components. A Cosmos SDK chain serves its current mint rate at the REST path /cosmos/mint/v1beta1/inflation, which is the figure a Cosmos or ATOM staking calculation actually needs. Polkadot has no single constant to quote, because its issuance is a function of how much of the supply is staked at the time. Ethereum issuance depends on the number of active validators and is netted against the fee burn, so the useful figure is a net change in supply rather than a gross mint. Take the number from the chain you are staking on, enter it, and the real yield line updates.
The part of an APY that can be switched off
DeFiLlama reports a headline APY, a base component and a reward component. The base component is what the position earns from consensus rewards or protocol revenue. The reward component is a token emission, and an emission is a budget decision that a protocol can cut, taper or stop. A headline rate that is mostly reward is a different asset from the same headline rate paid entirely from base, and quoting the two as one number is the habit that every ranked result on this query shares. Of the pools embedded here, 4 carry a reward component above zero, and the panel under the calculator prints the reward share of the headline so the split is visible before the amount is entered.
The second column that matters is the thirty day mean. A rate quoted today can be a spike, a decayed incentive, or a genuinely steady payout, and one number cannot tell those apart. Comparing today against the thirty day mean does. 20 of the embedded pools currently sit above their own thirty day mean, which is a fact about the moment the page was built and not a claim about tomorrow.
The fundamentals behind the yield
Early Thunder scores its research universe across 25 variables, and two of those variables speak directly to a staking decision. The staking yield sub score reads how the payout is funded. The supply inflation sub score reads how fast the supply behind it grows. Both run to 10, both sit inside a composite that runs to 250, and both carry the date they were written rather than the date you read them. The research file is stamped 2026-09-18. It is a dated snapshot, not a live feed, and it is presented that way everywhere it appears on this page. The full method is on the methodology page and the scored universe is on the scorecard.
48 of the 51 embedded pools resolve to an asset that has a row in that file, and 47 resolve to an asset that had a live price in the build universe. The remainder print an explicit not scored or not available state. A pool whose staked ticker matches no stated mapping rule is left unmapped rather than guessed at, which costs a row of coverage and buys the reader the ability to trust the rows that are filled in.
| Project | Chain | Ticker | TVL | APY | Base | Reward | 30d mean | Score |
|---|---|---|---|---|---|---|---|---|
| lido | Ethereum | STETH | $24.85B | 2.32% | 2.32% | Not reported | 2.25% | 187 |
| binance-staked-eth | Ethereum | WBETH | $9.02B | 2.26% | 2.26% | Not reported | 2.23% | 187 |
| ether.fi-stake | Ethereum | WEETH | $5.67B | 2.32% | 2.32% | 0% | 2.32% | 187 |
| rocket-pool | Ethereum | RETH | $1.34B | 2.17% | 2.17% | Not reported | 2.16% | 187 |
| jito-liquid-staking | Solana | JITOSOL | $1.21B | 4.86% | 4.86% | Not reported | 4.85% | 170 |
| binance-staked-sol | Solana | BNSOL | $1.19B | 4.55% | 4.55% | Not reported | 4.58% | 170 |
| kelp | Ethereum | RSETH | $1.06B | 2.26% | 2.26% | Not reported | 2.37% | 187 |
| lista-liquid-staking | BSC | SLISBNB | $794.86M | 1% | 1% | Not reported | 1% | 144 |
| lombard-lbtc | Ethereum | LBTC | $669.50M | 0.5% | 0.5% | Not reported | 0.14% | 183 |
| jupiter-staked-sol | Solana | JUPSOL | $600.49M | 5.42% | 5.42% | Not reported | 5.47% | 170 |
| binance-staked-eth | BSC | WBETH | $541.61M | 2.26% | 2.26% | Not reported | 2.23% | 187 |
| coinbase-wrapped-staked-eth | Ethereum | CBETH | $484.05M | 2.38% | 2.38% | Not reported | 2.35% | 187 |
| stakewise-v3 | Ethereum | OSETH | $401.61M | 2.31% | 2.31% | Not reported | 2.33% | 187 |
| drift-staked-sol | Solana | DSOL | $326.80M | 4.97% | 4.97% | Not reported | 5.12% | 170 |
| benqi-staked-avax | Avalanche | SAVAX | $261.42M | 3.77% | 3.77% | Not reported | 4.74% | 138 |
| marinade-liquid-staking | Solana | MSOL | $260.28M | 4.72% | 4.72% | Not reported | 5.17% | 170 |
| sanctum-infinity | Solana | INF | $224.09M | 5.29% | 5.29% | Not reported | 5.6% | 170 |
| dfdv-staked-sol | Solana | DFDVSOL | $212.27M | 4.95% | 4.95% | Not reported | 5.02% | 170 |
| stader | Ethereum | ETHX | $200.95M | 2.36% | 2.36% | Not reported | 2.31% | 187 |
| ether.fi-stake | Linea | WEETH | $191.13M | 2.32% | 2.32% | 0% | 2.32% | 187 |
| bybit-staked-sol | Solana | BBSOL | $160.64M | 5.17% | 5.17% | Not reported | 4.87% | 170 |
| the-vault-liquid-staking | Solana | VSOL | $154.45M | 4.81% | 4.81% | Not reported | 4.87% | 170 |
| renzo | Ethereum | EZETH | $112.71M | 2.09% | 2.09% | Not reported | 2.14% | 187 |
| helius-staked-sol | Solana | HSOL | $109.92M | 5.04% | 5.04% | Not reported | 5.21% | 170 |
| stakewise-v3 | Ethereum | ETH | $107.94M | 2.39% | 2.39% | Not reported | 2.37% | 187 |
| blazestake | Solana | BSOL | $104.96M | 4.73% | 4.73% | Not reported | 4.83% | 170 |
| frax-ether | Ethereum | SFRXETH | $95.93M | 2.51% | 2.51% | Not reported | 2.57% | 187 |
| stake.link-liquid | Ethereum | STLINK | $94.46M | 4.98% | 4.98% | Not reported | 4.79% | 165 |
| jagpool-staked-sol | Solana | JAGSOL | $88.94M | 4.61% | 4.61% | Not reported | 4.59% | 170 |
| doublezero-staked-sol | Solana | DZSOL | $80.75M | 4.54% | 4.54% | Not reported | 4.64% | 170 |
| origin-ether | Ethereum | OETH | $57.92M | 2.65% | 2.65% | Not reported | 2.65% | 187 |
| ether.fi-stake | Base | WEETH | $54.03M | 2.32% | 2.32% | 0% | 2.32% | 187 |
| stake-dao-yield | Ethereum | SDCRV | $41.83M | 11.82% | 0% | 11.82% | 12.48% | 140 |
| swell-liquid-staking | Ethereum | SWETH | $34.39M | 2.37% | 2.37% | Not reported | 2.3% | 187 |
| swell-liquid-restaking | Ethereum | RSWETH | $33.08M | 0.62% | 0.62% | Not reported | 0.61% | 187 |
| puffer-stake | Ethereum | PUFETH | $29.53M | 2.97% | 2.92% | 0.05% | 2.1% | 187 |
| crypto.com-liquid-staking | Cronos | CDCETH | $24.12M | 1.45% | 1.45% | Not reported | 1.6% | 187 |
| origin-ether | Base | SUPEROETHB | $22.80M | 2.85% | 2.85% | Not reported | 2.85% | 187 |
| ankr | Ethereum | ANKRETH | $21.44M | 2.42% | 2.42% | Not reported | 2.09% | 187 |
| ether.fi-stake | Ethereum | EBTC | $21.37M | 0.11% | 0.11% | Not reported | 0.31% | 183 |
| bonk-staked-sol | Solana | BONKSOL | $11.17M | 4.89% | 4.89% | Not reported | 5.01% | 170 |
| bifrost-liquid-staking | Polkadot | VDOT | $9.06M | 3.36% | 3.31% | 0.05% | 3.16% | 103 |
| rujira-staking | Thorchain | RUJI | $8.10M | 0% | 0% | Not reported | 1.43% | Not scored |
| ankr | Flow | ANKRFLOWEVM | $6.54M | 7.9% | 7.9% | Not reported | 7.9% | 78 |
| stake-dao-yield | Ethereum | SDPENDLE | $6.07M | 4% | 0% | 4% | 5.35% | 160 |
| stronghold-staked-sol | Solana | STRONGSOL | $4.88M | 4.88% | 4.88% | Not reported | 4.93% | 170 |
| rujira-staking | Thorchain | BRUNE | $3.54M | 0% | 0% | Not reported | 0% | Not scored |
| lantern-staked-sol | Solana | LANTERNSOL | $3.32M | 5.76% | 5.76% | Not reported | 5.82% | 170 |
| stader | Polygon | MATICX | $3.11M | 5.17% | 5.17% | Not reported | 2.63% | 123 |
| phase-stake | Solana | YIELD | $2.83M | 6.04% | 6.04% | Not reported | 6.07% | Not scored |
| pico-staked-sol | Solana | PICOSOL | $2.14M | 4.93% | 4.93% | Not reported | 5% | 170 |
Undistributed supply is not an issuance rate
A market data feed will give circulating supply and total supply, and the gap between them is often presented as dilution. It is a real overhang, but it measures tokens that are already minted and not yet distributed. It says nothing about a network that mints fresh supply every epoch forever. Polkadot is the clean example in the table below. Its undistributed share reads near zero because almost every token that exists is already circulating, while its supply inflation sub score is low precisely because issuance continues regardless. Deriving an inflation input from the supply columns would have flattered exactly the asset that needs the adjustment most.
The table is generated from the same two snapshots the calculator uses. Where the pool count reads zero, no staking pool for that asset cleared the two million dollar total value locked floor in the DeFiLlama pull, so the calculator has no rate to prefill and the reader supplies one. That is the honest answer for Cosmos in particular, and it is more useful than a rate copied from a marketing page. Scores and sub scores are from the 2026-09-18 research snapshot.
| Asset | Price | Pools | Best APY | Undistributed | Score | Verdict | Staking yield | Supply inflation |
|---|---|---|---|---|---|---|---|---|
| ETH Ethereum | $2,564.73 | 21 | 2.97% | Not reported | 187 | HOLD CORE | 7 of 10 | 7 of 10 |
| SOL Solana | $116.44 | 17 | 5.76% | 7.29% | 170 | HOLD | 7 of 10 | 5 of 10 |
| DOT Polkadot | $1.10 | 1 | 3.36% | 0% | 103 | WATCH | 7 of 10 | 2 of 10 |
| ATOM Cosmos Hub | $1.68 | 0 | No pool above floor | 0% | 96 | PASS | 4 of 10 | 4 of 10 |
How the math works
The term is capped at 50 years and any rate is capped at 1000 percent, because past those points the exponent stops being representable and a calculator that prints infinity has stopped being a calculator. Every intermediate value is checked for finiteness before it reaches the screen, and an input combination that overflows returns an explicit message instead of a number. All of it runs in the browser from data embedded at build time, so the page makes no market request while you use it.
Where this model breaks
An APY quoted today is an observation, not a promise. It moves with the validator set, with the fee market, with how much of the supply is staked and with whatever emission schedule funds the reward component. Holding one rate constant for five years, which is what any staking calculator does, is a modelling convenience and nothing more.
A validator can be slashed. A protocol fault or a double signing event removes principal, and no yield figure on this page carries a slashing probability because none was measured. Unbonding is the second omission. Most proof of stake networks lock a withdrawal for a protocol set delay during which the position cannot be sold, and that parameter is not fetched here, so check it on the chain you are staking on before treating the balance as liquid. A liquid staking token removes the delay by adding a secondary market that can trade below the value of what it represents.
Custodial staking through an exchange or a managed provider adds counterparty risk that a yield number cannot express. The rate quoted is net of a fee that is not always disclosed on the same page as the rate, and the assets are held by someone else. Smart contract risk applies to every pool in the embedded table. Finally, the USD outputs multiply a token balance by a single price that was true at build time and will not hold for the term. Read the dollar column as a unit conversion, not as a forecast. For entry and exit fee math on the trade around the position, use the crypto profit calculator, and for what the research engine currently flags, see the opportunities page.
Staking build snapshot
Pools fetched
The build fetched and validated these values before writing the static page. The browser calculator reads the embedded snapshot and makes no market data request.
- Pools returned
- 16,744
- Pools above the TVL floor
- 1,952
- Staking pools embedded
- 51
- Chains covered
- 11
- Underlying assets resolved
- 11
- Universe rows
- 249
- Rows cross checked
- 184
- Worst price spread
- 0.899%
- Market data fetched
- 2026-10-07 15:43:06
Endpoints used
Pool yields come from the DeFiLlama yields endpoint. Prices and supply come from CoinGecko and are cross checked against CoinPaprika at build time. Scores come from a static research file inside this repository.
Built and checked by Michael Lip
Michael Lip builds and operates the Early Thunder research engine end to end. He wrote this calculator because the staking pages he was reading quoted a nominal rate and stopped, which is the one number that cannot answer whether staking preserved a share of the network. View his GitHub profile.
Site-wide disclosures
- Research and data analysis only. Nothing here is investment advice or a recommendation to buy, sell or stake any asset.
- Crypto assets are volatile and you can lose the entire amount you put in.
- Scores measure fundamentals as recorded on the stated date. They do not predict price.
- Every figure carries the timestamp it was fetched. Prices move continuously and the number on the page may already be out of date.
- The operator may hold positions in assets covered on this site. See the portfolio page.