Skip to content

Concentrated Liquidity: Capital, Fees, and Risk

· 4 min read · Updated

Uniswap v3 lets a liquidity provider select a price range. The position supplies liquidity while the market price is inside that range. This changes capital use and risk.

Uniswap v3 concentrated liquidity overview

Full range and selected range

A v2 pool supports prices across the full constant-product curve. All liquidity contributes to that curve. It is incorrect to say that most deposited tokens do no work or cannot earn fees.

A v3 position can focus its capital on a smaller interval. It can provide more liquidity near the current price for the same deposit. When the price leaves the interval, the position stops earning swap fees until the price returns.

For example, a DAI/USDC position might use a range from 0.99 to 1.01 USDC per DAI. This range can be useful near parity. A stablecoin can also lose its peg and move outside the range. The chosen range does not protect the deposited tokens from that loss. See Uniswap's concentrated liquidity overview.

What L means

L is the liquidity parameter. It is not a token balance and is not itself the virtual reserves. Let P be the price of token 0 in token 1, using raw token units. For the active constant-product segment:

For a position with lower price Pa, upper price Pb, and current price inside the range, the real balances are:

These balances change as the price moves. Adjust for token decimals when showing a human-readable price. The Uniswap v3 whitepaper gives the full model.

Capital efficiency is not an APR forecast

A narrow range can provide the same active liquidity with less deposited capital. It also stops earning fees sooner when the price moves out of range.

That result does not determine annual percentage return (APR). An APR estimate needs assumptions about trade volume, fee share, time in range, competing liquidity, gas costs, and token prices. No fixed 50% or 314% APR follows from a deposit size alone.

Compare strategies with the same price range, starting price, active liquidity, and measurement period. Include fees and losses in the result. Do not describe a capital-efficiency ratio as a guaranteed yield increase.

Token balances and risk

A position below its lower price holds token 0. A position above its upper price holds token 1. This statement uses the protocol's price convention: token 1 per token 0. A user interface can display the inverse price.

If ETH is token 0 and DAI is token 1, a falling ETH price can leave the position entirely in ETH. A further fall still reduces its value. The range is not a stop-loss.

Capital kept outside the position is separate. Its risk depends on the asset in which it is held. Holding less ETH outside the pool can reduce ETH exposure, but this benefit comes from the allocation decision, not from automatic range protection.

Providers also face contract risk, token risk, and a difference between the position's value and the value of simply holding the starting tokens. Narrow ranges need closer monitoring.

Range orders

A position placed entirely above or below the current price can start with one token. As the price crosses its range, trades exchange that token for the other token.

The position earns swap fees only while it is active. It does not earn swap fees while it waits outside the range.

After conversion, the provider must remove the liquidity to lock in the result. If the price returns through the range before withdrawal, the position can convert back. A range order therefore differs from a conventional limit order that closes after execution. See Uniswap's range order guide.

Before you add liquidity

Select the tokens, fee tier, and price interval. Confirm token order, decimals, and tick spacing. Calculate both deposit amounts and minimum amounts. Include a deadline in seconds.

A balanced dollar deposit is not a universal v3 requirement. The amounts depend on the current price and range. Test the selected position against price moves in both directions.

For a local quote and the integration steps, read Understanding Uniswap.