Calculator · free, no wallet connection

Impermanent loss calculator.

Compare holding with a 50/50 pool, a weighted pool, or a bounded concentrated range. The scenario curve and every input can travel in one shareable URL.

Position inputs

Defaults describe ETH/USDC rising from 2,000 to 3,000. All calculations stay in this browser.

Token B receives the remainder. The hold benchmark uses the same entry weights.

Result

Impermanent loss vs. holding−2.02%Relative price ratio = 1.5000
Value if you had held$12,500.00
Pool value before fees$12,247.45
Divergence−$252.55
Fees collected$260.00
Net result vs. holding+$7.45
Fee income needed to break even$252.55
Annualised fee yield21.1%
Impermanent loss across relative-price scenariosA curve from one quarter to four times the entry relative price.0.25×1×4×
50/50 full-range curve; current scenario marked.

Fee income has covered the divergence over this holding period.

Educational model only. Excludes gas, price impact, emissions, rebalancing, and path-dependent loss. Not financial advice.

Two models, two reserve rules

A full-range weighted pool follows a constant-mean invariant. Its loss against the matching hold basket is:

ILw(k) = kʷ ÷ (w·k + 1 − w) − 1

Where:

  • w — token A’s entry weight.
  • k — the relative price ratio between the assets.

Setting w = 0.5 gives the familiar 50/50 result. The range mode calculates bounded-liquidity inventory, values the same entry tokens at the end price as the hold benchmark, and compares that with the rebalanced position. After price crosses a bound, the position is one-sided.

How to read the chart

The horizontal axis is the relative price change between the assets, not token A’s standalone dollar return. The vertical distance below zero is the pool’s shortfall against holding before fees. Change the weight or range and the curve is recomputed locally.

What the share link contains

The query string records the selected model, prices, capital, fees, holding period, weight, and range bounds. Loading that URL restores the form. The canonical tag remains the clean path, so parameter combinations are not separate indexable pages.

Limits and risk

Endpoint models do not measure loss-versus-rebalancing along the path, gas, slippage, tick rounding, inactive time, or changing liquidity competition. Fees entered here are observed income, not a forecast. Use the output as a scenario check, not a return promise.

Sources

  1. Uniswap v2 Core Whitepaper
  2. Uniswap v3 Core Whitepaper
  3. Balancer weighted-pool documentation

Frequently asked questions

Does this calculator support weighted pools?

Yes. Set token A to 50%, 80%, or 95%, or enter another two-token weight. The hold benchmark uses the same entry weights.

How are concentrated ranges different?

A bounded position changes token composition faster inside its selected range, then becomes one-sided after price leaves that range. The range model uses Uniswap v3 liquidity accounting rather than the full-range shortcut.

What does the curve show?

It holds every other input fixed and moves the relative price from 0.25× to 4× its entry level. The marked point is the current scenario.

Are calculator inputs sent anywhere?

No. The maths, chart, and share-link state run in your browser. The URL contains only the numbers visible in the form; no wallet or pool address is used.