Liquidity pools and impermanent loss, explained with real arithmetic
Putting two tokens into a pool earns a share of trading fees — but the pool quietly sells whichever token is rising. Here is exactly how much that can cost, using the standard constant-product formula that Uniswap’s documentation also quotes.

Photo: “Pool at Night” by SurFeRGiRL30, CC BY 2.0, via Flickr (edited: cropped and resized).
Impermanent loss is a liquidity provider’s shortfall versus simply holding the same two tokens, caused by the pool rebalancing as prices move. In a 50/50 pool, if one token doubles against the other, the provider ends about 5.7% behind, before fees [1].
Key points
- 1A liquidity pool holds two tokens; providers deposit both and receive pool tokens for their share plus fees.
- 2When prices move, arbitrage traders rebalance the pool, leaving providers with more of the falling token and less of the rising one.
- 3The shortfall versus holding depends only on how far the price ratio moves, in either direction: a 2× move costs about 5.7%, a 4× move 20%.
- 4It is called “impermanent” because it shrinks if prices return to where you entered; it becomes real when you withdraw.
- 5Fees can offset it, but nobody can know in advance whether they will.
On this page
- What is a liquidity pool?
- Why does the mix of tokens in the pool change?
- How much is impermanent loss, in a worked example?
- Why is it called “impermanent”?
- Do trading fees make up for impermanent loss?
- Which pools have less impermanent loss?
- What other risks do liquidity providers take?
- What mistakes do beginners make here?
- Frequently asked questions
- The bottom line
- Sources
What is a liquidity pool?#
A liquidity pool is a smart contract holding reserves of two tokens that traders swap against on a decentralized exchange [2]. The people who supply those reserves are liquidity providers (LPs). When you deposit, the pool mints liquidity tokens representing your share; in Uniswap v2, each trade pays a 0.3% fee shared pro rata among all LPs, and burning your liquidity tokens returns your share of both reserves plus the fees [3].
A liquidity provider’s round trip
Deposits must match the pool’s current ratio; Uniswap’s documentation warns that liquidity added at a different ratio is at risk of being arbitraged [3]. In a constant-product pool that means depositing equal values of the two tokens. For the basic terms, see liquidity.
Why does the mix of tokens in the pool change?#
A constant-product pool must keep x × y = k, where x and y are its two reserves [2], and its price is simply the ratio of those reserves [4]. The pool cannot see prices on other markets. When ETH gets more expensive elsewhere, traders buy the now-cheap ETH from the pool until its price matches; the whitepaper explains that this arbitrage is why the pool’s price tends to track the market price [4].
Each of those trades takes ETH out of the pool and puts USDC in. So when ETH rises, the pool — and therefore every LP — ends up holding less ETH and more USDC. When ETH falls, the reverse happens. In plain words: the pool automatically sells the winner and buys the loser. That is the source of impermanent loss, which the Uniswap v2 whitepaper names as a cost liquidity providers suffer when relative prices change [4].
How much is impermanent loss, in a worked example?#
| Step | Value |
|---|---|
| Your k = 1 × 3,000 | 3,000 |
| Your ETH after rebalancing = √(3,000 ÷ 6,000) | ≈ 0.7071 ETH |
| Your USDC after rebalancing = √(3,000 × 6,000) | ≈ 4,242.64 USDC |
| Value in the pool = 0.7071 × 6,000 + 4,242.64 | ≈ 8,485.28 USDC |
| Value if you had just held = 1 × 6,000 + 3,000 | 9,000 USDC |
| Impermanent loss = 8,485.28 − 9,000 | ≈ −514.72 USDC (≈ −5.72%) |
You still made money compared with your 6,000 starting value (about +41.4%), but less than the +50% from simply holding. If ETH had instead halved to 1,500, the pool position would be worth about 4,242.64 against 4,500 for holding — the same −5.72%.
Impermanent loss = 2 × √r ÷ (1 + r) − 1r is the new price ratio divided by the price ratio when you deposited. The formula follows from the constant-product rule with trading fees ignored (our derivation, checked in Python). Uniswap’s v2 documentation shows the same formula, impermanent_loss = 2 * sqrt(price_ratio) / (1+price_ratio) - 1, in a passage it quotes from an analysis by Pintail [1]. With r = 2 it gives −5.72%, the same result as the worked example above.
Uniswap’s documentation also works a small example. A provider supplies 1 ETH and 100 DAI to a pool of 100 ETH and 10,000 DAI, a 1% share, and the price of ETH then moves from 100 to 120 DAI [1]. The quoted passage then works it through: the provider can now claim 0.9129 ETH and 109.54 DAI, worth 219.09 DAI, against 220 DAI for simply holding — a shortfall of 0.91 DAI [1]. Plugging r = 1.2 into the formula gives the same thing: about −0.41%.
| Price of token A vs token B | r | Pool vs holding |
|---|---|---|
| Falls 75% | 0.25 | −20.00% |
| Falls 50% | 0.5 | −5.72% |
| Falls 25% | 0.75 | −1.03% |
| Rises 25% | 1.25 | −0.62% |
| Rises 50% | 1.5 | −2.02% |
| Doubles | 2 | −5.72% |
| Triples | 3 | −13.40% |
| Rises 4× | 4 | −20.00% |
| Rises 5× | 5 | −25.46% |
Computed with the formula above. The passage quoted in Uniswap’s documentation lists the same results rounded to one decimal place — 0.6% for a 1.25× price change, 2.0% for 1.5×, 5.7% for 2×, 13.4% for 3×, 20.0% for 4× and 25.5% for 5× [1]. A 50% fall and a doubling give the same loss because both change the ratio by a factor of two; the same passage notes that the loss is the same whichever direction the price moves [1].
Impermanent loss grows faster than the price move
Why is it called “impermanent”?#
Because the formula depends only on the current price ratio compared with your entry ratio. The passage quoted in Uniswap’s documentation puts it this way: if the price returns to the same value as when liquidity was added, “this loss would disappear”, which is why it is called impermanent [1]. The loss is “locked in” only when you withdraw while the ratio is different from your entry. Prices have no reason to land exactly on your entry ratio when you happen to withdraw, so “impermanent” describes the maths, not a promise that the loss will disappear.
Do trading fees make up for impermanent loss?#
Sometimes, and sometimes not. In Uniswap v2, LPs share a 0.30% fee on every trade [3]; if a protocol fee is switched on, LPs receive 0.25% and the protocol 0.05% [4]. How much that adds up to depends on trading volume, the size of the pool and how many other LPs share it — none of which can be known in advance. Uniswap’s documentation itself says it is difficult to know the trade-off between fee revenue and losses from directional price moves without knowing how much trading happens in between [1].
In the example above, your share of fees over the period would have needed to exceed about 514.72 USDC — roughly 8.6% of the 6,000 you deposited — just to match holding. A quiet pool with a big price move can leave fees far short of that. A busy pool where prices swing back and forth can do better. Treat any advertised pool “APY” as a description of the past, not a forecast.
Which pools have less impermanent loss?#
Pools of assets whose prices move together. The Uniswap v2 whitepaper notes that when two assets are correlated — for example, both USD stablecoins — LPs “would generally be subject to less impermanent loss” than in a pair against ETH [4]. The table above shows why: a move from 1.00 to 0.98 gives r = 0.98 and a shortfall of only about 0.005%.
| Step | Value |
|---|---|
| Pool after rebalancing | ≈ 938.08 A and ≈ 1,066.00 B |
| Value in the pool = 938.08 + 1,066.00 × 0.88 | ≈ $1,876.17 |
| Value if held = 1,000 + 1,000 × 0.88 | $1,880.00 |
| Impermanent loss | ≈ −$3.83 (about −0.20%) |
| Total change versus $2,000 deposited | ≈ −$123.83 (about −6.19%) |
Impermanent loss is tiny here, but the de-peg itself is not — and the pool has swapped part of your healthy coin for more of the weak one. In a stablecoin pool, the coin you trust least decides your risk.
Newer designs change the maths. In Uniswap v3 and v4, each LP chooses a price range for its liquidity instead of the full curve [2]. Pools built for stablecoins can use a different rule: the StableSwap design described by Michael Egorov in 2019 uses an invariant that stays close to a fixed 1:1 price while the pool is balanced [7] — see how decentralized exchanges work. The numbers on this page apply to the classic full-range v2 design only.
What other risks do liquidity providers take?#
- Smart contract risk — the pool is code; ethereum.org notes that interactions with smart contracts are irreversible [8].
- Token risk — anyone can create a pool for any token [2], so one side of a pair can be worthless or a copycat.
- Arbitrage and MEV — the traders who rebalance the pool profit from it; DEX arbitrage is the most competitive form of MEV [9].
- Liquidity-token risk — LP tokens are transferable assets [3]; if they are lost or stolen, so is your share of the pool.
What mistakes do beginners make here?#
- Comparing your pool balance with your deposit only
The right comparison is with what you would have had by holding the same tokens. A pool can be up in dollars and still behind holding.
- Thinking impermanent loss only happens when prices fall
Any change in the price ratio causes it. A doubling and a halving cost the same 5.72% in a 50/50 pool.
- Treating past fee APY as a promise
Fee income depends on future volume and competition from other LPs. It can fall to almost nothing.
- Assuming a stablecoin pool carries no risk
Impermanent loss is small, but a de-peg leaves you holding more of the weaker coin.
- Depositing at a different ratio from the pool
Uniswap warns that liquidity added away from the current price is at risk of being arbitraged [3].
Frequently asked questions#
Is impermanent loss a real loss?
It is real once you withdraw at a different price ratio from your entry. Until then it is a paper shortfall that would shrink if prices returned to your entry point.
Does impermanent loss happen on order-book exchanges?
No. It comes from the automatic rebalancing of an AMM pool. Order-book market makers face other risks, but not this formula.
Can I avoid impermanent loss completely?
Only by not providing liquidity to pools whose assets can change in relative price. Pools of correlated assets reduce it [4], but do not remove other risks.
Why do LPs get paid at all?
Traders pay a fee on every swap, which goes to the pool’s providers pro rata [3]. The fee is the reward for taking on the pool’s risks.
Is a liquidity pool the same as a lending pool?
No. A DEX pool is used for swaps. A lending pool, like those in DeFi lending, is borrowed from and pays interest; it has no impermanent loss but has liquidation and default risks.
The bottom line#
A liquidity pool pays you fees for letting traders swap against your tokens, and charges you by rebalancing into whichever token is falling. The cost depends only on how far prices move apart: small moves cost little, big moves cost a lot. Fees may cover it or may not, and nobody can tell you in advance which.
To see how the pool price is set in the first place, read how decentralized exchanges work; for the wider picture of DeFi deposits, see total value locked.
Sources#
Grade A = primary source (regulator, protocol specification, client code, original author). Grade B = expert secondary source used for explanation only.
- AUniswap Labs (developer documentation). Understanding Returns (Uniswap v2), 2026. The impermanent-loss formula and loss table appear on this page as quoted text from an analysis by Pintail that the page links to.
- AUniswap Labs (developer documentation). How Uniswap Works, 2026.
- AUniswap Labs (developer documentation). Pools (Uniswap v2 concepts), 2026.
- AHayden Adams, Noah Zinsmeister, Dan Robinson. Uniswap v2 Core (whitepaper), 2020.
- AEuropean Supervisory Authorities (EBA, ESMA, EIOPA). EU financial regulators warn consumers on the risks of crypto-assets, 2022.
- ABoard of Governors of the Federal Reserve System. Primary and Secondary Markets for Stablecoins (FEDS Notes), 2024.
- AMichael Egorov. StableSwap – efficient mechanism for Stablecoin liquidity, 2019.
- Aethereum.org. Introduction to smart contracts, 2026.
- Aethereum.org. Maximal extractable value (MEV), 2026.


