Liquidity pool simulator: impermanent loss, ranges and fees

    Try a scenario:

    Your position

    Liquidity
    = 2,250 USDC per ETH
    = 3,990 USDC per ETH
    What you expect this position to earn in trading fees per year while the price is inside your range. Your estimate, not a quote: pool fees change daily.

    Price path: ETH priced in USDC

    ETH in USDC
    Fall from the start to the bottom.
    0 for a smooth path. The wiggles repeat exactly for the same inputs.

    A simplified path through the turning points you set, not real prices. Switch to “My own prices” to replay real history you have.

    ETH/USDC, Jan 1, 2025 to Jan 1, 2026 · scenario path
    Providing liquidity beat simply holding by $678 (6.8%)

    The position ended at $9,915 plus $763 of fees, against $10,000 for holding the same two tokens. Price moves alone cost −0.85% (impermanent loss).

    Impermanent loss at withdrawal
    −0.85%
    Fees earned
    $763
    Days in range
    84% · left 6×
    Fee APR needed to match holding
    1.1%
    Ended
    Inside the range
    Concentration vs full range
    7.5× fees per dollar while in range
    ETH priced in USDC, with your rangeYour range2,0003,0004,000Jan 25Mar 25May 25Jul 25Sep 25Nov 25Jan 26
    Pool price (USDC per ETH)Hover or tap the chart to read values.
    Position value vs holding the two tokens (CAD)$8,000$10,000Jan 25Mar 25May 25Jul 25Sep 25Nov 25Jan 26
    LP + feesLP without feesJust holdingHover or tap the chart to read values.

    What is driving this result

    • The pool keeps rebalancing: as ETH rises against USDC it sells ETH, and as ETH falls it buys more. Over this path the price moved between −33% and +11% of the entry price.
    • A concentrated range earns fees only while the price is inside it. Yours was in range 84% of the days, shaded red when outside; outside the range the position is entirely one token and stops earning.
    • Fees are your estimate, earned only on in-range days. A narrower range earns more per dollar while in range (7.5× full range here) but leaves the range sooner.
    • This is a scenario path through turning points you set (365 days, lowest −30% on day 120, finishing 10%), not real prices. Add your own daily prices for ETH in USDC to replay real history.

    What would have matched holding?

    Each line changes one assumption and holds the others fixed.

    Fee APR
    About 1.1% while in range. You assumed 10.0%.
    A range that never left
    Lower bound at or below −33% and upper at or above +11%.
    Price
    With no fees, the position only matches holding if ETH ends where it started against USDC; any move either way costs something.
    Gain or loss vs holding over this path, by range width and the fee APR a range like yours earns (other widths earn in proportion to their concentration). Green beats holding.
    Range ↓ / Fee APR →5%10%15%25%40%
    Full range0.5%1.1%1.7%2.9%4.7%
    ±10%2.5%7.5%12.5%22.5%37.4%
    ±25%3.0%7.0%11.0%19.1%31.3%
    ±50%2.6%5.8%9.0%15.5%25.2%
    ±100%1.6%3.7%5.7%9.8%15.9%

    Range widths are symmetric in price ratio: ±25% means an upper bound 25% above entry and a lower bound at entry ÷ 1.25.

    Quick what-if with a single price move: 50/50, weighted and stable pools

    Pool and price move

    Pool design
    100 means token A doubled relative to token B.
    50 for a standard pool; 80 for an 80/20 pool.
    Impermanent loss vs holding
    −5.72%

    $857.86 less than holding the same tokens, before fees. Fees of 8.0% APR add $1,131.37, so the pool ends ahead of holding by $273.51.

    If you had held
    $15,000.00
    Pool before fees
    $14,142.14
    Pool with fees
    $15,273.51
    Fee APR to break even
    6.07%
    Impermanent loss across price moves−42.7%−21.3%0.2%-90%-50%0%+100%+300%+400%
    50/50 constant product50/50 constant product (reference)

    Estimates from your inputs, calculated in your browser. Education, not financial or tax advice, and not advice from the site showing this calculator.

    LP simulator · Powered by DeFiCalculator.ca · MITEY