
Automated Market Makers (AMMs) have redefined decentralizedtrading by eliminating the need for order books and intermediaries. At the coreof AMM, like Uniswap, lies the constant product formula (x * y ≥ k), ensuringthat liquidity pools facilitate seamless token swaps. However, this model comeswith inefficiencies — particularly in how liquidity is distributed.
In Uniswap V2, liquidity is spread evenly across the entireprice spectrum (i.e., (0, ∞)). In many pools, a significant portion of the LP'scapital remains unused for most trades, leading to inefficient capitalallocation. Also, because liquidity is passively distributed, LPs earn feeseven when their capital is not actively utilized at prevailing market prices.
Uniswap V3 introduced concentrated liquidity to address theseinefficiencies. That allows LPs to allocate their funds within specific priceranges. By doing so, liquidity is deployed more efficiently, increasing capitalutilization and enabling higher fee earnings for LPs on the same amount ofcapital than in v2.
This article explores how concentrated liquidity in Uniswap V3works and its advantages.
A good example of the capital inefficiency seen in Uniswap v2can be explained using stablecoin/stablecoin pairs, i.e., USDT/USDC. In thesepairs, the trade price is expected to be 1:1 or close to it (i.e., 0.99 ≤ P ≤1.01).
However, Uniswap V2 supports trades in the price range of 0 toinfinity. An LP position of $10 million would be distributed across the entirexy=k curve, while the liquidity is mainly used within a narrow band. As aresult, much of the capital is inefficiently allocated, sitting idle in priceranges where no trades occur.
It is important to note that capital efficiency is crucial inprice impact on a fixed-size trade. The greater the liquidity, the lower theprice impact. For example, for a constant-size trade, a xy = 100 will have agreater price impact than a xy = 10,000. To achieve this low price impact inV2, liquidity providers need to supply ample liquidity. However, a significantportion of that liquidity remains wasted due to the price range being spreadfrom 0 to infinity, especially for stablecoin pairs where most trades occurwithin a narrow price range.
Concentrated liquidity was introduced in Uniswap V3 to allowLPs to allocate their capital within predefined prices called ticks. Instead ofspreading liquidity evenly from 0 to infinity (as seen in Uniswap V2), LPs inUniswap V3 can choose from a variety of price regions where their liquiditywill be active. For example, an LP providing liquidity for an ETH/USDC pair maychoose to allocate their capital only when ETH trades between $1,500 and$2,000. Outside this range, their liquidity is inactive and does notparticipate in swaps.

In Uniswap V3, ticks are discrete price intervals thatstructure how liquidity is distributed across the price spectrum. Each tickcorresponds to a specific price point, and liquidity can only be providedwithin these tick-aligned price bands.
Each tick represents a price p(i) that follows a specificmathematical pattern. The price at a given tick i is determined by:
p(i) = 1.0001^i
This formula means that every tick represents a 0.01% pricechange (also known as one basis point) from its neighboring ticks. In otherwords, the price increases (or decreases) in small, fixed increments ratherthan changing continuously. The 0.01% granularity ensures smooth pricetransitions, making trading and liquidity management more predictable.

Within each tick range, liquidity behaves similarly to UniswapV2 by following the constant product formula (x * y ≥ k). Users can choosecustom tick ranges where to provide liquidity, for example [0; 10]
xy = ki, if p(i-1) ≤ P ≤ p(i).
where:
• p(i)represents the tick price boundaries,
• Pis the current price,
• k(i)is the liquidity depth for that tick range, determined by LP deposits,
• iis the tick index.
Each tick defines a sub-curve with its liquidity depth(K-value). The amount of liquidity provided in a specific tick range determinesthe steepness and position of the curve in that segment. The larger theK-value, the farther it is from the origin.

As long as the market price remains within this range, theswap continues using liquidity from this tick. However, if the trade is largeenough to push the price beyond the tick boundary, the contract switches to thenext tick interval. This logic is handled within the TickManagement scope ofUniV3 and is quite a bit tricky.
At this transition point, new liquidity is activated —specifically, any liquidity positions that were set to begin at the new tickrange. These previously dormant liquidity positions now become part of theactive pool and are used for further swaps.

For example, in an ETH/USDC trading pair, an LP might provideliquidity in the range of $1,800 to $2,000. If ETH is currently trading at$1,850, their liquidity is actively used for trades. If a large buy orderpushes the price up to $1,990, the trade continues within this tick range.However, if the order is large enough to move ETH's price above $2,000, thesmart contract activates the next tick, and only LPs who set their price rangeabove $2,000 will now provide liquidity. The original LP's funds will no longerbe used unless they adjust their range.
In Uniswap V3, an LP can choose to allocate their liquidity toa targeted price range, such as $1,800 to $2,200 — a range where ETH is likelyto trade in the short term. By concentrating liquidity within this range, theLP ensures that more liquidity is available for trades happening in this priceband, which reduces price impact for traders. In the same vein, liquidityproviders are able to utilize their liquidity and earn better fees.
Link to the article: https://x.com/0xCharlesWang/status/1892873387426328746