Liquidity pools are reserves of tokens that allows and supports financial activities such as trading, staking, lending and borrowing on DeFi. A Liquidity pool is made up of at least two reserves containing tokenA and tokenB respectively. To understand capital efficiency lets go through the various types of liquidity pools their strength and drawbacks.
Price and Price Impact
The price of tokenA and tokenB is largely affected and controlled based on the depth of liquidity provided on a pool, the deeper the liquidity the lesser the slippage in price. For example in a pool that has 100 USDC and 10 SOL, swapping out 1SOL leads to a significant change in price of SOL compared to a pool with 1000 USDC and 800 SOL, this is because of the differences in depth between these pools. The first pool has very small liquidity depth compared to the second pool causing more slippage in price (price impact) for every swap.
Liquidity Pools, Price impact and Capital Efficiency
The type of pool a LP provides liquidity to determines how capital is efficiently managed for the profit of both LPs and traders. There are 2 kinds of pools we would look into and their relation to price impact and capital efficiency.
- Traditional AMM pools (Constant Product and Constant Sum)
- Concentrated AMM Pool
Traditional AMM Pools: Constant Product & Constant Sum
Traditional AMM pools are built on Constant Product and Constant Sum AMM and was introduced by UniSwap v2. These mathematical models are in-efficient because liquidity is spread from 0 to ∞.
Mathematically speaking we use the formula xy = k, where
- x = tokenA reserve
- y = tokenB reserve
- k = liquidity of both reserves
Using the previous example, a LP provides 100 USDC and 10 SOL to the USDC/SOL pool the total liquidity (k) is 1000
\[
x \times y = k
\]
\[
100 \text{USDC} \times 10 \, \text{SOL} = 1000
\]
Plotting this formula on a graph shows that, More reserves equal greater distance of the price curve from the origin leading to greater liquidity.

Let us use an analogy for this, Lets take for instance we have Bob and he has a loaf of bread, Bob can only take two slices before he gets filled up, but Bob spreads butter on the whole loaf then takes two slices and leaves the remaining, this results in wastage of other parts of the bread because he is not going to eat it and it would have been better if he didn’t spread the butter on the whole bread
Thats is what happens in Traditional AMMs, the butter is the Liquidity provided and the loaf of bread is the Price curve, in Constant Product and Constant Sum, Liquidity provided is spread across the price curve from 0 to ∞, allocating liquidity in areas where trade will never happen leading to IL (waste) for LPs as they can’t earn fees at those positions and traders suffer from high slippage (price impact) because of low liquidity depth.
Traditional AMMs and Price Impact
Price impact in traditional AMMs is highly felt by traders as swaps occur in the pool, token price changes slightly or greatly depending on depth of liquidity. We will explore how liquidity affects price of tokens pool.
- USDC/SOL pool with liquidity depth of 100
- USDC/SOL pool with liquidity depth of 1000
A. Liquidity depth = 100
This is basically saying
\[
x \times y = 100 = 10 \, \text{USDC} \times 10 \, \text{SOL} = 100
\]
Price of a token is calculated by the formula
\[
\text{price}_A = \frac{\text{reserve}_B}{\text{reserve}_A}
\]
Initial Price:
\[
P_{\text{before}} = 1
\]
Trader swaps 1 SOL:
New SOL reserve in pool (\( y’ )\)
\[
R_{\text{SOL, after}} = R_{\text{SOL, before}} – \text{swap\_out\_amount}
\]
\[
R_{\text{SOL, after}} = 10 – 1 = 9
\]
The new reserve for SOL = 9
At this point we now have
\[
x \times y = k = 10 \times 9 = 90
\]
But the constant product \( k \) should remain 100, so the pool is unbalanced.
Balance Pool:
To balance the pool, we ask: “What amount of USDC should be deposited into the pool to take 1 SOL out?”
Expected new USDC reserve:
\[
R_{\text{USDC, after}} = \frac{100}{9} = 11.11
\]
Now that we know the expected reserve to balance the pool, lets get the amount needed to achieve this
\[
x_{\text{USDC}} = R_{\text{USDC, after}} – R_{\text{USDC, before}}
\]
\[
x_{\text{USDC}} = 11.11 – 10 = 1.11
\]
The amount of USDC to be deposited (“swap in”) in the pool is 1.11
New Price:
As the SOL reserve decreases the price increases, to calculate the new price we follow the formula
\[
P_{\text{after}} = \frac{R_{\text{USDC, after}}}{R_{\text{SOL, after}}}
\]
\[
P_{\text{after}} = \frac{11.11}{9} = 1.2346
\]
This simply means after swapping out 1SOL and depositing 1.11 USDC the SOL’s price in the pool became 1.2346. Let’s see the percentage impact.
Price Impact:
\[
\text{Impact} = \frac{(P_{\text{after}} – P_{\text{before}})}{P_{\text{before}}} \times 100
\]
\[
\text{Impact} = (1.2346 – 1) \times 100 = 23.46\%
\]
After swapping 1 SOL, the pool rebalances at 1 SOL = 1.2346 USDC, a 23.46% price increase due to slippage.

This price change is plotted on the graph above, where the blue line shows the initial price and the purple dotted line shows the price impact
b. Liquidity depth = 1000
We start with a constant product of:
\[
x \times y = 1000
\]
simulating balanced reserves \(x = y\)
\[
\sqrt{1000} = 31.6228
\]
\[
x = 31.6228 \, \text{USDC}, \quad y = 31.6228 \, \text{SOL}
\]
Initial Price:
\[
P_{\text{before}} = \frac{R_{\text{USDC}}}{R_{\text{SOL}}} = \frac{31.6228}{31.6228} = 1
\]
Trader swaps 1 SOL:
New SOL reserve in pool (y’)
\[
R_{\text{SOL, after}} = R_{\text{SOL, before}} – \text{swap\_out\_amount}
\]
\[
R_{\text{SOL, after}} = 31.6228 – 1 = 30.6228
\]
The new reserve for SOL = 30.6228
At this point we now have:
\[
R_{\text{USDC, before}} = 31.6228, \quad R_{\text{SOL, after}} = 30.6228
\]
But this no longer satisfies \( x \times y = 1000 \):
\[
31.6228 \times 30.6228 = 968.96 \neq 1000
\]
Balance Pool:
To balance the pool, we ask: “What amount of USDC should be deposited into the pool to take 1 SOL out?”
Expected new USDC reserve:
\[
R_{\text{USDC, after}} = \frac{1000}{30.6228} = 32.664
\]
Now that we know the expected reserve to balance the pool, lets get the amount needed to achieve this (“swap-in”)
\[
x_{\text{USDC}} = R_{\text{USDC, after}} – R_{\text{USDC, before}}
\]
\[
x_{\text{USDC}} = 32.664 – 31.623 = 1.041
\]
So, 1.041 USDC must be deposited to maintain the constant product.
New Price:
As the SOL reserve decreases the price increases, to calculate the new price we follow the formula
\[
P_{\text{after}} = \frac{R_{\text{USDC, after}}}{R_{\text{SOL, after}}}
\]
\[
P_{\text{after}} = \frac{32.664}{30.623} = 1.0667
\]
This simply means after swapping out 1SOL and depositing 1.041 USDC the price of SOL in the pool became 1.0667. Let’s see the percentage impact.
Price Impact:
\[
\text{Impact} = \frac{(P_{\text{after}} – P_{\text{before}})}{P_{\text{before}}} \times 100
\]
\[
\text{Impact} = (1.0667 – 1) \times 100 = 6.67\%
\]
After swapping 1 SOL, the pool rebalances at 1 SOL = 1.0667 USDC, resulting in a 6.67% price increase.

The graph represents the price difference for the USDC/SOL pool with the depth of 1000, the purple representing the new price ie. price after swap occurred, and the blue representing the price before the swap occurred. Notice the distance between these two lines on the price curve (red line) is smaller compared to the USDC/SOL pool with the depth of 100. This explains the statement common to DeFi, the deeper the liquidity the lesser the slippage or price impact.
From these two analogies we seen, we now understand how important it is to have liquidity managed efficiently for both LPs and traders. Therefore spreading liquidity along all positions on the price curve is not efficient because trades don’t happen at every position on the curve. No user will buy 1SOL for 1000USDC using today’s market info, but if an LP provides liquidity to a traditional AMM like Raydium AMM, liquidity will be created for a position of 1SOL for 1000USDC. How do we solve this problem.
Concentrated Liquidity Pools
Concentrated Liquidity pools are an innovative solution originally designed by UniSwap (v3) with the goal of efficiently providing capital. Traditional AMMs (Constant-Product and Constant Sum) are capital inefficient, When LPs provide liquidity, it is spread from 0 to ∞ on the price curve i.e [0, ∞], where actual trades only happens along certain price ranges, resulting to IL for LPs & no profit earned at in-active price ranges. Concentrated Liquidity comes in to solve this issue, by allowing LPs and traders have better DeFi Experience.
Concentrated Liquidity allows LPs to spread their liquidity along specific price ranges along the price curve [Pa, Pb] this gives the LPs a more fine-grained control over their liquidity, allowing them to earn fees from trades that happens at specific price range. Traders also profit from the deep liquidity along their desired price range making better price discovery and lower price volatility impact (slippage) on swaps. More liquidity less slippage, this is achieved through concentrated liquidity because LPs specify price ranges for their liquidity increasing the liquidity depth and reducing slippage for the traders.

Challenges of Concentrated Liquidity
Despite the efficiency Concentrated Liquidity brings it also comes with risk of IL when the price of an asset fluctuates out of specified range causing the liquidity to be inactive, meaning, LPs don’t earn on any trading fees.
This introduces operational behaviours for LPs providing Concentrated Liquidity which are;
- Impermanent Loss Beyond Range
When the asset price moves outside an LP’s specified range, the liquidity becomes inactive. The LP stops earning trading fees until the price returns to the range. - Active Position Management
LPs must frequently monitor markets and rebalance or adjust their liquidity ranges to stay active and profitable. - Range Optimization Strategy
Choosing the right price range requires strategic thinking. Narrow ranges offer higher fees but greater IL risk, while wider ranges reduce returns but increase stability.

Concentrated Liquidity is a game-changing evolution in AMM design, improving capital efficiency, market depth, and trading experience for everyone involved. However, it demands more active management and strategic planning from LPs to balance risk and reward effectively.
Explore and experiment with Concentrated Liquidity Market Maker (CLMM) pools on Stabble to experience these innovations firsthand.

