Impermanent loss calculator
Most impermanent loss tools ask you to invent a price change. This one starts from the moves that already happened, across five windows, for 249 tokens fetched at build time.
Pick two real assets and a window to see what a constant product position would have given up against simply holding. The manual mode is still there if you want to test a ratio you choose yourself.
Measure a real pair
Snapshot fetched
Measured moves come from the build snapshot embedded in this page. Your browser makes no market data request.
- BTC change
- 4.55%
- USDT change
- -0.02%
- Price ratio r
- 1.0456
- Starting position
- $10,000.00
- LP return
- 2.24%
- Hold return
- 2.26%
Fees, rewards and gas are excluded. The position starts split evenly by value across the two assets and the loss is only realised on withdrawal.
BTC against USDT across every window
The same pair measured over each window the snapshot serves. A window with no figure means one side of the pair carries no change for that period.
| Window | Impermanent loss |
|---|---|
| 24 hours | -0.0144% |
| 7 days | -0.0048% |
| 30 days | -0.0249% |
| 200 days | -0.3146% |
| 1 year | -1.9717% |
What the largest pairs actually cost
The table pairs the 5 largest non stablecoin assets by market capitalisation with each other and with the largest stablecoin. Each cell is the constant product loss implied by the two real percentage moves over that window, so nothing on this page depends on a price change anyone made up.
Read the numbers as the gap between an equal weight liquidity position and the same two balances left alone. A pair that moved together shows a loss near zero even when both assets fell hard, because impermanent loss measures divergence rather than direction. A stablecoin paired with a volatile asset shows the full effect of a one sided move.
| Pair | 24 hours | 7 days | 30 days | 200 days | 1 year |
|---|---|---|---|---|---|
| BTC and ETH | -0.0064% | -0.016% | -0.0045% | -0.0025% | -0.533% |
| BTC and BNB | -0.0022% | -0.0021% | -0.0037% | -0.0029% | -0.242% |
| BTC and XRP | -0.0062% | -0.024% | -0.0098% | -0.350% | -1.320% |
| BTC and SOL | -0.00039% | -0.0072% | -0.035% | -0.108% | -0.942% |
| BTC and USDT | -0.014% | -0.0048% | -0.025% | -0.315% | -1.972% |
| ETH and BNB | -0.016% | -0.030% | -0.00004% | -0.00002% | -0.057% |
| ETH and XRP | -0.00000% | -0.00077% | -0.0010% | -0.411% | -0.179% |
| ETH and SOL | -0.0036% | -0.0017% | -0.065% | -0.078% | -0.059% |
| ETH and USDT | -0.040% | -0.038% | -0.0083% | -0.372% | -4.442% |
| BNB and XRP | -0.016% | -0.040% | -0.0014% | -0.416% | -0.438% |
| BNB and SOL | -0.0044% | -0.017% | -0.062% | -0.075% | -0.232% |
| BNB and USDT | -0.0054% | -0.00053% | -0.0094% | -0.377% | -3.535% |
| XRP and SOL | -0.0035% | -0.0048% | -0.082% | -0.842% | -0.033% |
| XRP and USDT | -0.040% | -0.050% | -0.0035% | -0.00097% | -6.266% |
| SOL and USDT | -0.020% | -0.024% | -0.119% | -0.787% | -5.454% |
Pairs measured 15. Excluded per window because one side carries no change in this snapshot, 24 hours 0, 7 days 0, 30 days 0, 200 days 0, 1 year 0. An excluded pair is stated rather than quietly dropped.
Whether the fees covered the divergence
Impermanent loss on its own does not decide anything. A pool that gave up two percent to divergence while paying twenty percent a year in fees was still ahead. The build pulled the DeFiLlama pool snapshot, kept the pools it flags with impermanent loss risk, and matched both legs of each pool to a token in the market universe.
For every matched pool the table shows the reported APY, the measured loss over the last 30 days, the fee yield the same APY would have produced over that period, the net of the two, and the break even holding period. Break even is the number of days of fee accrual at that APY needed to offset the measured loss. It assumes the APY holds, that fees accrue evenly with no compounding, and that the divergence stops where it is.
| Pool | TVL | APY | Loss over 30 days | Fees over 30 days | Net | Break even |
|---|---|---|---|---|---|---|
| USDC-FLRraydium-amm on Solana | $71,354,771 | 0.02% | -0.026% | 0.0016% | -0.024% | 471 days |
| SHX-USDCraydium-amm on Solana | $69,429,493 | 0.02% | -2.449% | 0.0016% | -2.447% | 44,691 days |
| XMR-USDCraydium-amm on Solana | $68,025,931 | 0.03% | -0.0067% | 0.0025% | -0.0043% | 82 days |
| ETH-USDCgmx-v2-perps on Arbitrum | $45,356,392 | 1.70% | -0.0082% | 0.140% | 0.131% | 2 days |
| USDC-AEROaerodrome-v1 on Base | $43,154,222 | 30.16% | -1.676% | 2.479% | 0.804% | 20 days |
| ETH-USDCuniswap-v4 on Ethereum | $43,129,154 | 13.50% | -0.0082% | 1.109% | 1.101% | 0.22 days |
| KAS-USDCraydium-amm on Solana | $42,653,530 | 0.03% | -0.060% | 0.0025% | -0.057% | 727 days |
| XDC-USDCraydium-amm on Solana | $35,181,581 | 0.02% | -0.126% | 0.0016% | -0.124% | 2,298 days |
| XDC-USDCraydium-amm on Solana | $34,179,591 | 0.05% | -0.126% | 0.0041% | -0.122% | 919 days |
| XDC-USDCraydium-amm on Solana | $34,087,283 | 0.02% | -0.126% | 0.0016% | -0.124% | 2,298 days |
| USDC-XDCraydium-amm on Solana | $33,100,244 | 0.07% | -0.126% | 0.0058% | -0.120% | 657 days |
| XDC-USDCraydium-amm on Solana | $32,984,209 | 0.06% | -0.126% | 0.0049% | -0.121% | 766 days |
The snapshot kept 1,952 pools above the two million dollar TVL floor out of 16,744 returned. Of those, 453 carry an impermanent loss risk flag and 72 matched two tokens in the universe. Excluded, 59 whose symbol does not resolve to exactly two legs, 322 where at least one leg is not in the universe, and 0 where a leg carries no 30 days change. The 12 largest matched pools by TVL are shown, and 3 of them earned more in fees than the window cost in divergence.
Matching is by exact ticker. Wrapped, staked and bridged variants carry their own tickers and are not treated as the underlying asset, which is why large pools quoted in wrapped assets fall into the excluded count instead of borrowing a price they do not have.
The widest and the narrowest real pairs
The build took the 40 largest non stablecoin tokens by market capitalisation and measured every distinct pair over the last 30 days. It considered 780 pairs, measured 780 of them, and excluded 0 because one side carries no change for that window. Flagged stablecoins are left out of this set on purpose, since a pair of two of them sits at zero by construction and would fill the narrowest list without saying anything.
The widest list is where two assets pulled apart hardest, and it is usually one asset running while the other sat still. The narrowest list is where two assets moved by almost the same percentage over the same month, so an equal weight liquidity position ended up worth close to what holding would have been worth. That is the structural argument for pairing assets that move together, and the numbers put a size on it rather than leaving it as a claim.
Widest divergence over 30 days
| Pair | Moves | Loss |
|---|---|---|
| RAIN and QNT | -33.6% and 262.9% | -27.677% |
| RAIN and BTW | -33.6% and 171.8% | -20.550% |
| QNT and M | 262.9% and -8.2% | -19.722% |
| QNT and XAUT | 262.9% and -6.7% | -19.328% |
| LEO and QNT | -3.3% and 262.9% | -18.487% |
| DOGE and QNT | -3.0% and 262.9% | -18.421% |
| QNT and SHIB | 262.9% and -2.7% | -18.341% |
| TRX and QNT | -0.3% and 262.9% | -17.756% |
| QNT and BUIDL | 262.9% and 0.0% | -17.696% |
| QNT and USYC | 262.9% and 0.3% | -17.633% |
Narrowest divergence over 30 days
| Pair | Moves | Loss |
|---|---|---|
| USYC and USDY | 0.3% and 0.3% | -0.00000% |
| CC and TAO | 8.7% and 8.8% | -0.00001% |
| XRP and LINK | 1.7% and 1.8% | -0.00002% |
| ETH and BNB | 2.6% and 2.8% | -0.00004% |
| SUI and ENA | 34.3% and 34.1% | -0.00005% |
| GRAM and USDY | 0.5% and 0.3% | -0.00007% |
| ETH and XMR | 2.6% and 2.3% | -0.00007% |
| TRX and BUIDL | -0.3% and 0.0% | -0.00008% |
| GRAM and USYC | 0.5% and 0.3% | -0.00008% |
| USYC and BUIDL | 0.3% and 0.0% | -0.00009% |
How the math works
A constant product pool holds two assets whose quantities multiply to a constant. When an outside price moves, arbitrage traders rebalance the pool, which leaves the position holding more of the asset that fell and less of the asset that rose. The formula below compares the value of that rebalanced position against the value of the two starting balances left untouched.
Impermanent loss is always zero or negative and it depends only on the ratio r, never on the absolute prices. A ratio of 1 gives zero. A ratio of 2 gives about minus 5.7 percent. A ratio of 4 gives minus 20 percent. The curve is symmetric, so a fourfold rise and a fourfold fall in the same asset produce the same figure. A change of exactly minus 100 percent drives a price factor to zero and leaves no ratio at all, so this calculator returns no result there rather than an infinity.
Where this model breaks
The formula describes a constant product two asset pool with equal starting weights. It does not describe concentrated liquidity. Inside a chosen range the loss is larger than this figure because the same capital backs a narrower slice of the curve, and once price leaves the range the position sits entirely in one asset and stops earning fees until price returns. Weighted pools that start at something other than fifty fifty follow a different curve as well.
The figure ignores trading fees unless they are added explicitly, which is what the pool section does. It ignores gas, both to enter and to exit, and it ignores reward emissions, which can dominate a headline APY and can stop without notice. It says nothing about the credit risk of the pool contract or the bridge that issued either token.
The loss is only realised on withdrawal, which is why it is called impermanent. A position whose price ratio returns to where it started carries no loss at all. The numbers here are a snapshot of a ratio at one moment, not a settled outcome.
Reported APY is the pool operator figure as DeFiLlama recorded it, and a headline APY on a small or new pool is often a short lived reading. Read it next to the TVL in the same row. Our methodology page covers how the research engine treats reported yields, and the token scorecard covers the fundamentals of the assets that sit inside these pairs. If you want entry and exit fee math on a spot position instead, the crypto profit calculator handles that case.
Build snapshot
Universe fetched
The build fetched and checked these values before writing the static page. The browser calculator reads the embedded snapshot and makes no market data request.
- Universe rows
- 249
- Rows dropped in validation
- 1
- Flagged stablecoins
- 37
- Cross checked prices
- 184
- Worst price spread
- 0.899%
- Tokens in the browser snapshot
- 80
- Pools returned
- 16,744
- Pools above the TVL floor
- 1,952
- Pools matched to two tokens
- 72
Endpoints used
Market rows and price changes come from CoinGecko, cross checked against CoinPaprika. Pool APY, TVL and the impermanent loss risk flag come from DeFiLlama. The windows available on the CoinGecko markets endpoint are 24h, 7d, 30d, 200d and 1y, so no 90 day figure appears anywhere on this page.
Pool snapshot fetched
Built and checked by Michael Lip
Michael Lip builds and operates the Early Thunder research engine end to end. He wrote this calculator because every ranked impermanent loss tool asks the reader to guess a price change, while the real moves were already sitting in the data. View his GitHub profile.
Site-wide disclosures
- Research and data analysis only. Nothing here is investment advice or a recommendation to buy or sell any asset.
- Crypto assets are volatile and you can lose the entire amount you put in.
- Impermanent loss is a comparison against holding. It is not a fee, a tax figure or a settled result, and it only becomes real on withdrawal.
- 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.