Advanced level
Providing liquidity is a strategy that sells the rising asset and buys the falling one at a slightly stale price. Arbitrageurs profit from that staleness, and the research term for the LP's cost is loss versus rebalancing (LVR): for a full range constant product pool it runs at volatility squared over eight per unit time. A position makes money, after hedging market exposure, only when fees beat LVR. Concentrating liquidity multiplies both sides; it levers the edge rather than creating one.
What an LP position really is
Strip away the interface and a liquidity position is a trading strategy with fixed rules. When ETH rises, the pool sells ETH. When ETH falls, it buys. It does this automatically, against anyone, at its own price, which is always a little behind the market. You are paid for running the strategy through fees, and you pay for it every time someone trades against a price that is stale.
The paper that put numbers on this, Automated Market Making and Loss-Versus-Rebalancing by Jason Milionis, Ciamac Moallemi, Tim Roughgarden and Anthony Lee Zhang (first posted August 2022), splits an LP's return in two. The first part is market exposure: the position holds a changing mix of two assets. Applied to the Uniswap v2 ETH-USDC pool, the authors found that exposure explained over 99.99% of the variance of LP returns. The second part is the one an LP actually controls: fees earned minus losses to arbitrageurs. Hedge the market exposure away and that is all that remains.
Loss versus rebalancing
Impermanent loss compares the pool with holding the starting tokens. Loss versus rebalancing compares it with a sharper benchmark: a portfolio that makes exactly the same trades as the pool, in the same sizes, but at the market price instead of the pool's stale one. The difference is exactly what arbitrageurs earn, which makes them the LP's real counterparty.
For a constant product pool this collapses to one number, independent of price:
| Annualized volatility (illustrative) | Daily volatility | LVR per day | LVR per year |
|---|---|---|---|
| 40% | 2.09% | 0.55 bp | 2.0% |
| 60% | 3.14% | 1.23 bp | 4.5% |
| 80% | 4.19% | 2.19 bp | 8.0% |
| 100% | 5.23% | 3.42 bp | 12.5% |
The difference from impermanent loss shows on any round trip. Take the full range pool from AMM math, 100 ETH and 300,000 USDC, and let the market jump from 3,000 to 3,300 and back, with arbitrageurs correcting the pool each time (fees left out for clarity):
| Leg | What the arbitrageur does | Arbitrage profit |
|---|---|---|
| 3,000 to 3,300 | Buys 4.654 ETH from the pool for 14,642.65 USDC (3,146.43 each) and sells at 3,300 | 714.69 USDC |
| 3,300 to 3,000 | Buys 4.654 ETH at 3,000 and sells them to the pool for 14,642.65 USDC | 681.43 USDC |
| Round trip | The pool ends with exactly 100 ETH and 300,000 USDC | 1,396.12 USDC |
Impermanent loss at the end is zero: the LP holds exactly what it started with. A rebalancing portfolio that sold those 4.654 ETH at 3,300 and bought them back at 3,000 would be up about 1,396 dollars, roughly 0.23% of the pool. The LP made the same trades at 3,146 in both directions and earned nothing. That gap is LVR. As the paper points out, impermanent loss can be positive over two short intervals and zero over both combined; LVR only accumulates, with every move in either direction.
Fees against volatility: the break even
With LVR in hand, the core LP question gets a formula too. With market exposure hedged, a full range position earns its fee income minus σ²/8 of its value per unit time. Daily fee income is the daily volume times the fee rate, divided by the liquidity sharing it, so the position breaks even when:
| Annualized volatility | Fee tier | Daily non arbitrage volume needed, as a share of TVL |
|---|---|---|
| 60% | 0.05% | 24.7% |
| 60% | 0.30% | 4.1% |
| 60% | 1.00% | 1.2% |
| 80% | 0.05% | 43.8% |
| 80% | 0.30% | 7.3% |
| 80% | 1.00% | 2.2% |
This benchmark overstates the cost, because it assumes arbitrageurs trade continuously and pay no fee. A 2023 follow up by Milionis, Moallemi and Roughgarden, Automated Market Making and Arbitrage Profits in the Presence of Fees, added fees and discrete blocks. An arbitrageur arriving with each block only trades when the price has moved outside the fee band, and in the low fee, fast block regime, arbitrage profits shrink to roughly LVR times the probability that a block offers a profitable trade:
At 60% annualized volatility:
| Block time | Fee | Typical move in half a block | Ptrade |
|---|---|---|---|
| 12 seconds | 0.05% | 2.6 bp | 34% |
| 12 seconds | 0.30% | 2.6 bp | 8% |
| 2 seconds | 0.05% | 1.1 bp | 18% |
| 2 seconds | 0.30% | 1.1 bp | 3% |
Two conclusions hold whatever the exact inputs. A higher fee relative to per block volatility means fewer blocks worth arbitraging, and faster blocks reduce LP losses, a point the paper makes explicitly. Real markets add price jumps and centralized exchanges that move first, so read the table as direction and scale, not a forecast. A higher fee also sends uninformed traders to cheaper pools, which is the fee tier problem below.
Concentration levers the edge, it does not create one
For a concentrated position covering Pa to Pb, the same method gives:
At the center of a range from P/r to P·r, this is exactly σ²/8 multiplied by the capital efficiency 1 ÷ (1 − 1/√r) from the AMM math guide. A position's share of fees per dollar rises by the same factor, because it supplies that much more liquidity per dollar. So while the price stays in range, concentration multiplies fees and LVR together. If a full range position in a pool loses to arbitrage, a tight one in the same pool loses faster; if it wins, the tight one wins faster. The AMM math example range of 2,700 to 3,300 runs at about 20 times full range LVR per dollar, roughly 92% a year at 60% volatility, which only very high fee income can cover.
What concentration changes is time. A tight range is left quickly, and every exit leaves you holding only the asset that fell, earning nothing until you act:
| Range around the price | Fees and LVR per dollar vs full range | LVR a year while in range, 60% volatility | Average time before the price exits |
|---|---|---|---|
| ÷2 to ×2 | 3.4x | 15% | about 16 months |
| ÷1.2 to ×1.2 | 11.5x | 52% | about 34 days |
| ÷1.1 to ×1.1 | 21.5x | 97% | about 9 days |
| ÷1.05 to ×1.05 | 41.5x | 187% | about 2.4 days |
| ÷1.01 to ×1.01 | 201.5x | 907% | about 2.4 hours |
Exit times assume a driftless random walk in log price, where the average time to leave a range of ±ln r is (ln r)² ÷ σ². A simulation of the ±10% case gives the same answer within a few percent.
Rebalancing is where tight ranges bleed. Each time the price leaves a ÷1.05 to ×1.05 range you hold one asset and must swap roughly half the position to recenter. At a 0.05% fee that costs about 0.025% of the position per rebalance, and at 60% volatility the price exits about 150 times a year: roughly 3.8% a year in swap fees alone, before price impact, gas and the loss locked in at each exit. In a 0.30% pool the same schedule costs about 23% a year. The practical answer is a range wide enough that rebalancing stays small next to fees, not the narrowest range the interface allows.
Choosing a fee tier
A higher fee tier does two things at once. It widens the band arbitrageurs must clear, so fewer blocks carry a profitable arbitrage. And it makes the pool more expensive for ordinary traders, whose orders an aggregator sends to a cheaper pool whenever one is deep enough. Uniswap's v4 documentation states the tradeoff directly: the optimal fee depends on at least asset volatility and the volume of uninformed flow, and low fee tiers on volatile pairs make sense only when uninformed flow is large and volatility is relatively low.
| Pair type | Where liquidity usually sits | The main LP risk |
|---|---|---|
| Stablecoin to stablecoin | 0.01%, tick spacing 1 | A depeg: the pool keeps buying the failing asset |
| Correlated assets, such as a liquid staking token and its underlying | 0.01% or 0.05% | The correlation breaking in a stress event |
| Majors such as ETH-USDC | 0.05% and 0.30%, varying by chain and venue | LVR in volatile weeks |
| Long tail tokens | 1% | The token collapsing and volume vanishing |
Measure fee income against liquidity near the price, not headline TVL. In a concentrated pool, fees go only to liquidity in range at the moment of each swap, so a pool with 50 million dollars of TVL and 5 million in the active range is paying its fees to the 5 million.
Just in time liquidity
Concentrated liquidity allows a strategy that full range pools never did. A searcher sees a large swap coming, adds a very narrow position around the current price in the same block just before it, and removes it right after. Fees are shared pro rata among liquidity in range, so the searcher collects most of the fee on that one trade.
Suppose a 2,000,000 USDC swap goes through a 0.05% pool, paying 1,000 USDC in fees. If a JIT position supplies four times the passive liquidity at the active price, it takes 80%, or 800 USDC, and the passive LPs who sat there all week get 200. The JIT provider also absorbs the trade itself, ending with inventory it usually hedges elsewhere, and pays gas for the mint and the burn.
Research is mixed on whether this is good. The trader gets a deeper pool for that fill. But a 2023 paper by Agostino Capponi, Ruizhe Jia and Brian Zhu, The Paradox of Just-in-Time Liquidity, shows why passive LPs suffer: a JIT provider sees the order before committing, so it can supply liquidity only to uninformed flow and avoid the arbitrage that passive LPs absorb. That can crowd passive liquidity out and leave the pool shallower overall. The authors suggest fixes such as a two tier fee that shares JIT revenue with passive LPs. Later work on optimal JIT strategies finds the cost to passive LPs can be large. JIT needs advance sight of the swap, so it concentrates where orders are visible before inclusion; the MEV guide covers that visibility.
Stable pools, hooks and recapturing LVR
For assets meant to trade at par, the volatility of their ratio is tiny, so LVR is tiny and a very low fee can still win. The risk moves to the tail: if one asset depegs, the pool keeps buying it on the way down, as the StableSwap section of AMM math shows and the guide to how pegs hold and break explains.
Uniswap v4, live since early 2025, turned fee design into code. A pool chooses at creation, permanently,
whether its fee is dynamic; a dynamic pool's hook can then set the fee for every swap in its
beforeSwap function. That makes it possible to charge informed and uninformed flow differently.
Uniswap Labs' StablePair hook, for pairs such as USDC and USDT, is a clear example: inside a narrow band both
directions pay a small fee, but once the price leaves the band, swaps pushing it back toward the reference rate
pay a fee that starts high and decays block by block until an arbitrageur takes it, while swaps pushing it further
away pay nothing. In effect it runs a Dutch auction on the arbitrage, with the proceeds going to LPs. Only Uniswap
Labs can create pools with that hook.
Research goes further. The am-AMM design (Adams, Moallemi, Reynolds and Robinson, 2024) runs an onchain auction for the right to act as a pool’s temporary manager. The manager sets the fee, collects swap fees and can capture some arbitrage itself, and pays rent that accrues to the LPs. Designs like these are among the most discussed ways for LPs to keep more of what LVR takes, but every hook is also new contract code standing between you and your funds.
Managed vaults and what they cost
Automated range managers deposit into concentrated positions for you and rebalance on a schedule or a trigger. They solve the attention problem, not the economics. What you pay:
Explicit fees
Usually a cut of fees earned, a management fee, or both, taken before the yield you see.
Rebalancing costs
Every recenter locks in the loss from the exit and pays swap fees, impact and gas, exactly as computed above.
Strategy risk
A manager that recenters into a trend sells low and buys high, over and over, and the vault APR rarely shows it.
Contract and key risk
An extra layer of code, often with an operator or admin role that can change the strategy. Check it as the admin keys guide describes.
Concentrated liquidity math has itself failed in production. On November 22, 2023, an attacker exploited a rounding error at tick boundaries in KyberSwap Elastic, a concentrated liquidity AMM, taking about 55.2 million dollars from its pools (about 48.7 million by the primary exploiter, the rest by copycat bots) and affecting 2,367 liquidity providers, according to KyberSwap's post-mortem. KyberSwap later reported grants covering 100% of affected funds for users who applied. The lesson for LPs: a fork that changes tick or rounding logic is not the same risk as the code it copied. The admin keys guide covers who can change a vault or pool.
A scorecard for any position
Estimate volatility
Use the realized volatility of the price ratio over a period like the one you plan to hold. For a stable pair, study the worst week rather than the average.
Estimate fee income on active liquidity
Daily volume times the fee rate, divided by the liquidity inside the range you would use, not by headline TVL. Discount volume that is itself arbitrage.
Compare with the LVR hurdle
σ²/8 per unit time for full range, multiplied by the capital efficiency for a concentrated range. If fees do not clear the full range hurdle, a narrower range makes the result worse, not better.
Price the rebalancing plan
Expected exits a year times the cost of each: swap fees on about half the position, impact and gas.
Measure against the right benchmarks
Judge results against holding and against rebalancing, not against the APR on the interface. The impermanent loss calculator handles the holding comparison.
If you are new to positions and ranges, start with providing liquidity: your first pool, and see where yield actually comes from for how LP fees compare with other yields.
Common questions
What is the difference between impermanent loss and LVR?
Impermanent loss compares the pool with holding the starting tokens and depends only on where the price ends. LVR compares the pool with a portfolio making the same trades at market prices, and it accumulates with every move, so it measures what arbitrageurs took along the way. A price round trip can leave impermanent loss at zero and LVR well above it.
Why are arbitrageurs the LP's counterparty?
Because the pool only learns the price when someone trades against it, and the traders with a reason to do so after a price move are arbitrageurs buying from the pool below market or selling to it above market. Their profit is the LP's loss relative to trading at the true price.
Does a narrower range earn more?
It earns more fees per dollar while in range, and it pays proportionally more LVR per dollar at the same time. Concentration levers whatever edge the pool offers. It also leaves the range sooner, which adds rebalancing costs and periods of earning nothing.
Can I hedge an LP position?
Yes, by shorting the volatile asset, for example with a perpetual, and adjusting the hedge as the position's holdings change. What remains is roughly fees minus LVR, minus the cost of hedging, such as funding. The delta neutral guide covers the hedge mechanics.
Is JIT liquidity an attack?
No, it uses the pool exactly as designed. It gives the trader a deeper pool for that fill and takes most of the fee from passive LPs. Whether it helps or hurts a pool overall depends on how much passive liquidity it drives away, which research suggests can be significant.
Where to go next
Next: Perpetual futures under the hood
Guide 5 of 16 in the Advanced level. Your place is kept on this device, so you can pick up exactly here next time.