DEV Community

Anna Botsford
Anna Botsford

Posted on

How Much Fee Income Offsets Impermanent Loss?

Fee income offsets impermanent loss only when the fees you actually collect exceed the value you give up relative to holding the same tokens. For a full-range constant-product pool, you can estimate that gap from the price ratio; then compare it with your share of trading fees, less transaction and rebalancing costs.

What is the hold-versus-pool baseline?

Impermanent loss is the difference between your pool position’s value and the value of keeping its original tokens outside the pool. It is not a cash charge, and “impermanent” does not mean it must reverse: once you withdraw at a changed price, the difference is realized against that hold benchmark.

For a fee-free, equal-value deposit into a full-range pool using the constant-product curve, let r be the final token price divided by its starting price. The pool’s relative performance versus holding is 2√r ÷ (1 + r) − 1. The result is zero at r = 1, and becomes more negative as the relative price moves either way.

For example, suppose you deposit $500 of WAVAX and $500 of USDT, and WAVAX doubles against USDT while the pool tracks the external price. Your original tokens held separately would be worth $1,500. The pool would be worth about $1,414 before fees, a shortfall of about $86, or 5.72% of the hold value. Fees must cover that $86, plus entry, exit, and network costs, to match holding.

That comparison answers the LP-return question; the broader choice of action is covered in when Blackhole swap means trade or LP. This calculation is for a standard full-range constant-product position; a different pool design needs its own inventory and fee model.

When does a full-range pool fit?

A full-range position suits a provider who wants continuous exposure to both sides of a pair and does not want to manage a price boundary. In a two-token constant-product pool, arbitrageurs trade against the pool as its reserve ratio drifts from the wider market, leaving the LP with a different mix of tokens than they started with.

Estimate fee income from the pool’s actual fee tier and trading activity, not its headline annualized percentage. A simple period estimate is eligible swap volume × LP fee rate × your share of active liquidity; if your share changes as other providers add or remove liquidity, calculate it over shorter intervals. Subtract any costs you incur to deposit, withdraw, or rebalance.

A stable pair with low relative price movement may produce a smaller hold-versus-pool gap, but low volatility can also mean fewer trades and less fee income. A volatile pair can generate more volume while exposing the LP to larger inventory drift. Uniswap’s v2 documentation describes the constant-product return drivers; the math is useful as a model, not evidence that another venue uses identical fee accounting.

When does a concentrated range fit?

Concentrated liquidity can earn a larger share of fees per dollar while the market price stays inside the selected range, but the position becomes inactive after price moves outside it. This changes both the fee estimate and the exposure: a position that leaves range is commonly composed almost entirely of one asset, and earns no swap fees until it becomes active again or is repositioned.

For example, a WAVAX/USDT position around a price of 40 USDT per WAVAX might use illustrative bounds of 32 to 50. Those bounds represent roughly −20% and +25% from the starting price. They are examples, not a recommended range: a tighter band concentrates liquidity more, but raises the chance of going inactive and the likelihood of paying to reposition.

Model a concentrated position by simulating its token balances and fee share across plausible prices, including paths that cross either boundary. A terminal price alone misses path dependence: two journeys can end at the same price but produce different fees, because volume accrued only while the position was active. Uniswap’s concentrated-liquidity documentation explains this active-range behavior; do not apply the full-range impermanent-loss formula to a bounded position.

Which costs and edge cases change the answer?

Use the pool’s realized fee accrual over the period you expect to stay in, then compare its value at withdrawal with the hold benchmark. A temporary volume spike does not justify extrapolating an annual return if the price has since left range, liquidity has grown, or the fee-generating flow was unusual. The key estimate is your fee share after those changes, not total pool volume.

Token correlation matters. If both assets move together against the dollar, the relative price ratio can stay near its starting value and reduce divergence loss; a USDT depeg, however, changes the pair’s relative price even if WAVAX itself is flat. Smart-contract, token, and oracle risks are separate from impermanent loss and are not represented by the formula.

Blackhole swap is an Avalanche C-Chain decentralized exchange for swapping tokens and providing liquidity; blackholeswap.app is the service through which a provider can consider that liquidity route. On Avalanche C-Chain, transaction fees are paid in AVAX, as Avalanche Support documents, so include the required transactions in the break-even calculation and retain AVAX for them. I’d provide liquidity only when the expected fee share plausibly covers the modeled inventory gap and those costs over the intended holding period.

Top comments (0)