Uniswap V3 launched in May 2021 and introduced concentrated liquidity — a mechanism that lets liquidity providers focus their capital within a specific price range rather than spreading it across every possible price. The result was a step-change in capital efficiency: pools could offer the same trading depth with a fraction of the TVL of V2. But it also made being an LP substantially more complex. Understanding what concentrated liquidity is, how LP positions work, and what the tradeoffs are separates casual DEX users from serious DeFi participants.
The Uniswap V2 baseline
Uniswap V2 uses a constant product AMM: x * y = k. When someone swaps token X for token Y in a pool, the pool's balances rebalance so their product stays constant. LPs deposit both tokens in equal value and earn 0.3% of each swap fee proportional to their share of the pool.
The important property: V2 LPs provide liquidity across every possible price. Even if the market price of ETH is $2,000, the V2 pool has some ETH available at $200 and some at $200,000 — most of the LPs' capital is sitting at prices that will never trade because those prices are absurd.
For a stable pair like USDC/USDT, this is extremely wasteful. The two tokens should trade near $1 forever, but V2 spreads liquidity across the whole price space. Most of the capital never earns any fees.
Uniswap V3's insight
V3 lets LPs pick a price range for their liquidity. Instead of "provide liquidity across all prices," you say "provide liquidity between $1,900 and $2,100 for ETH/USDC."
Within that range, your liquidity is dense — much denser than V2's spread-out equivalent. Trades that happen within your range use your liquidity efficiently. But if the price moves outside your range, your position becomes 100% one token and stops earning fees.
Concretely: if you provide ETH/USDC liquidity in the $1,900-$2,100 range and ETH moves to $2,200, your position converts entirely to USDC (since traders bought ETH from you all the way up). You're now holding pure USDC and earning zero fees until the price moves back into your range.
Capital efficiency, concretely
For a stable pair like USDC/USDT trading at $1.00 ± 0.01:
- V2: LPs provide liquidity across all prices. Only a tiny fraction of that liquidity is ever hit by trades. Capital efficiency is very low.
- V3 with a tight range ($0.99-$1.01): the same LP capital provides thousands of times the trading depth because it's all concentrated where trades actually happen.
This is why V3 stable pools can offer better prices than V2 with a small fraction of the TVL. Curve Finance's StableSwap has similar economics but achieves it via a different curve; V3 with tight ranges is arguably more flexible.
For volatile pairs (ETH/USDC, ETH/BTC), V3's capital efficiency advantage is real but tempered by the "outside the range" problem. LPs have to actively manage their positions or accept that they'll spend time not earning fees when prices move.
Fee tiers
V3 offers multiple fee tiers per pool: 0.01%, 0.05%, 0.30%, 1.00%. Different pairs use different tiers based on volatility:
- Very stable pairs (USDC/USDT, DAI/USDC): 0.01%. These trade in tight ranges and don't need to compensate LPs much for risk.
- Standard pairs (ETH/USDC): 0.05%. Balance between LP compensation and competitive fees for traders.
- Traditional pair fees (0.3%): matches V2 pricing. Used for pairs where LPs need more compensation for volatility.
- Exotic pairs (0.1% pool memecoins, other high-vol pairs): 1.00%. LPs need substantial compensation to provide liquidity at all.
The 0.05% ETH/USDC pool has become the dominant trading venue for that pair, providing tight spreads at lower fees than V2 ever could.
LP positions as NFTs
Each V3 position is unique — the price range you chose, the amount of liquidity you provided, the fees accrued — is represented as an ERC-721 NFT. Your position is not fungible with anyone else's position, even if they picked the same range.
This has interesting consequences:
- Positions can be transferred (sell your LP position on OpenSea).
- Positions can be used as collateral in DeFi protocols that accept them.
- Metrics like "how much is my position worth" require calculating both the underlying tokens plus accrued fees, not just checking a balance.
The impermanent loss twist
V2 impermanent loss (IL) is the loss LPs experience when the price of one token in the pool moves relative to the other. V3 concentrated liquidity magnifies this significantly.
If you provide V3 liquidity in a $1,900-$2,100 range and ETH moves to $2,100, your position is now 100% USDC. Compared to just holding your original assets (half ETH, half USDC), you've missed out on the ETH price appreciation. This is amplified IL because the concentration multiplied your exposure to the range breakdown.
For LPs, the equation becomes: "Do the fees earned in the range compensate for the increased IL risk from concentration?" For stable pairs with high volume, easily yes. For volatile pairs during trend markets, often no.
Active vs passive management
V3 rewards active management. If ETH moves to $2,200 and your range was $1,900-$2,100, you can:
- Close your position and open a new one at $2,100-$2,300 (reduce IL, earn fees at new price).
- Rebalance to a wider range (less capital efficient but less at-risk of falling out).
- Do nothing (position sits as pure USDC earning no fees).
Active LPs use tools like Arrakis, Gamma, or in-house strategies to automate this. Passive LPs often use narrow ranges around the current price and accept that they need to occasionally rebalance manually.
The industry that grew up around V3 LP management is significant — many teams provide "managed liquidity" strategies for a fee.
Ticks and price ranges
V3 discretizes price into "ticks" — specific prices you can set as range boundaries. Each tick is 0.01% (1 basis point) apart, so the granularity is fine. Different fee tiers have different tick spacings for efficiency:
- 0.01% fee: 1 tick spacing
- 0.05% fee: 10 tick spacing
- 0.30% fee: 60 tick spacing
- 1.00% fee: 200 tick spacing
When you set a range like "$1,900-$2,100," the actual range is rounded to the nearest valid ticks. For casual LPs this doesn't matter. For sophisticated LPs optimizing capital efficiency, tick precision is a factor.
What V3 didn't fix
V3 solved capital efficiency for stable pairs. It didn't fix:
- **Impermanent loss fundamentally** — IL is a permanent property of automated market making.
- **Front-running** — sandwich attacks still work on V3.
- **MEV extraction** — arbitrageurs still capture value across V3 pools.
For traders, V3 offers better prices via deeper liquidity in the active price range. For LPs, V3 offers capital efficiency at the cost of active management.
V4 and hooks
Uniswap V4 launched in 2024 with a different innovation: hooks. These are external contracts that can plug into a pool's lifecycle events, letting anyone customize pool behavior. Hooks enable things like:
- Time-weighted average makers (TWAMM) for large orders
- Dynamic fees that adjust based on volatility
- Automated position management built into the pool itself
- Custom oracles
V4 doesn't replace V3's concentrated liquidity — it adds a modular layer on top. V3 pools continue to exist, and V4 pools with hooks are additive.
The practical takeaway
For traders: V3's concentrated liquidity means you're often getting the best spot price of any DEX for ETH/USDC and similar major pairs. Just use it — the fee tier and pool are usually picked automatically by aggregators.
For LPs: understand the tradeoffs before deploying capital. Providing in a tight range earns more fees but requires either active management or acceptance of periods when your position isn't earning. Stable pairs are much friendlier for LPs than volatile pairs.
For anyone learning DeFi mechanics: V3 is the reference implementation for capital-efficient AMMs. Understanding how price ranges, LP NFTs, and fee tiers work makes the mechanics of every subsequent AMM (V4, Balancer, Camelot, etc.) much easier to read.



