DeFi Friday - How Concentrated Liquidity Pools Work
How UniV3 is changing liquidity providing
👋 Welcome to the 49th issue of The Syllabus from Invisible College—a newsletter that helps you navigate the fast-moving world of web3. To get it delivered straight to your inbox, subscribe here:
Current State of DeFi
Total Value Locked (TVL) across all of DeFi: $49.02 Billion (+3.35%)
Chains with notable TVL growth past 7 days:
Chains with notable TVL decline past 7 days:
An Introduction to Concentrated Liquidity Pools
Uniswap is a decentralized exchange (DEX) and one of the largest DeFi protocols overall (usually ranks #5 or #6 by TVL) with just under $4 billion in TVL. It also typically generates some of the highest amount of fees per day. On January 31st, a fairly typical Tuesday, users spent $1.49 million in fees on the Uniswap platform. It ranked 2nd on the day in fees collected only behind the Ethereum blockchain ($3.59 million).
In this newsletter, we’ll cover the basics of Concentrated Liquidity Pools—a fairly new model of liquidity providing across DeFi and a method that has been adopted and championed by Uniswap themselves.
But to understand Concentrated Liquidity Pools, it's important that we first understand what a normal liquidity pool is so that we can then appreciate all of the cool new innovations that come along with the new Concentrated Liquidity Pools.
How Liquidity Pools Work
In Uniswap V2 and most other current DEXs today, liquidity pools are formed with two tokens. (There are other DEX models which offer pools with more than two tokens such as Balancer and Curve. Those mostly work in a similar fashion).
Let’s take an example of a pool that pairs ETH and USDC. This pool attracts two different parties:
Liquidity Providers (LPs) – these individuals deposit their own ETH and USDC into the pool. As a reward for allowing others to use their liquidity, LPs earn fees that traders pay to make swaps. When LPs no longer want to provide their liquidity they can return their LP receipt token and get their liquidity back.
Traders – these individuals use the pool to swap Token A for Token B or vice versa. In exchange for the ability to do this, they pay a small fee for every swap.
Any major DEX in crypto is really just a collection of a bunch of these pools that allow traders to swap into and out of tokens and give LPs the ability to earn fees.
Under the hood, these LP pools can be fairly advanced and have different features, different swap fees, and unique swap math depending on the DEX. Some may be optimized for really efficient swaps between stablecoins (e.g. USDC <> USDT) or like-assets (e.g. ETH <> stETH). For the purposes of this article, all you need to know are the basic interactions between the pool, the LPs, and the traders.
When the LPs provide their liquidity in these basic pool models, they are technically allowing their liquidity to be used evenly across any price range. This is easiest to understand if you’re talking about an LP pool where 1 token is a stablecoin.
If you were to provide liquidity to the ETH/USDC pool example mentioned above, your liquidity would be spread across all possible exchange rates for the ETH/USDC pair. So regardless of if 1 ETH = 5 USDC or 1 ETH = 100,000 USDC. Some of your liquidity would be used to make swaps at any and all exchange rates.
Concentrated Liquidity (UniV3)
In May 2021, Uniswap introduced the first Concentrated Liquidity pools. In short, unlike a typical liquidity pool where LPs provide liquidity for all possible price ranges, Concentrated Liquidity pools allow you to only provide your assets as liquidity within certain price ranges.
Going back to the ETH/USDC pool example again, if that pool were a Uniswap V3 (UniV3) pool, you as the LP would have to determine which exchange rates (prices) you would want to provide liquidity at.
Below is an example of how you would set this up in UniV3:
You can see that the minimum price is set to 1499.7 USDC per ETH and the maximum is set to 1800.9 USDC per ETH. Because the current price is 1583 (not exactly halfway in between the range we provided), we’ll have to deposit different USD values of the two tokens.
Once this position is created, as long as the price of ETH is within the range we set our liquidity to, we’ll earn fees from swaps that happen through the pool. But if the price of ETH ever dips above or below our range, we’ll stop earning fees. At that point, we could exit the liquidity position OR we could choose to wait until the price re-enters our set range.
With UniV3 positions, you’re setting a range. If you enter an LP position that is “in-range” and then the exchange rate increases or decreases enough that it is outside of your set range, all of your tokens will then be converted into 100% of the other token.
In the example above, we entered an LP position with 1 ETH + ~683 USDC with a range of 1499 - 1800 USDC per ETH.
Let’s say that in 24 hours, the ETH price increases to $1850. At that price, the 1 ETH we had deposited would be converted (sold) into USDC. If we removed the liquidity, we’d get back our liquidity in 100% USDC (and would get back a higher USD value in total).
On the flip side, if the ETH price decreases to $1450 and we decide to remove liquidity while the position is out of range, we would get back our entire position in ETH.
This can sound scary at first, and to some extent, it should be, there are ways to get rekt’ed with this. However, this mechanism does present some really interesting and useful strategies that we’ll discuss later.
What’s the benefit of this pool model over the older v2 model?
On the LP side: you unlock a Concentration Multiplier. You will probably never see the actual multiplier in a DEX user interface and the math to generate it goes beyond the scope of this article. However, the tighter, more concentrated your provided liquidity, the higher your Concentrated Multiplier is and the more fees you’ll earn (compared to someone else with a lower multiplier) while your position is in range. This means a higher APR % paid out in yield (e.g. look at the yield that some positions on Uniswap Arbitrum are earning on ETH/USDC here).
On the trader side: the concentrated liquidity model makes smaller pools that have lower TVL much more efficient at swapping. If ETH is trading at $1,500, traders who are trying to buy or sell into ETH don’t really care if there is liquidity for ETH at $1 or $100,000. They’re more concerned that there’s sufficient liquidity for ETH at $1,500 +/- a few dollars. The Concentrated Multiplier AND the fact that LPs only earn fees when their position is in-range acts as an incentive to make sure that traders have enough liquidity are the current price.
UniV3 Concentrated Liquidity Pool Strategies
As promised in the “Important Point” section above, here are some interesting opportunities that arise from the fact that out-of-price-range tokens in a pool will be converted 100% into the other token:
1. DCA into a position as price decreases:
Let’s say you really like MATIC but you don’t want to buy at the current price of $1.23. You could set up a UniV3 LP position in the MATIC/USDC pool where the range is set to $1.00 - $1.20. With this setup, you would deposit 100% into the LP position and while the MATIC price remained above $1.20, you would not be earning any fees. However, if the MATIC price drops into the range, you would effectively start to slowly convert USDC into MATIC and start earning fees. If the price of MATIC goes below $1.00, once you exit the position, 100% of your USDC would be converted to MATIC. This is effectively a way to dollar-cost-average (DCA) into a MATIC position and earn fees along the way.
2. DCA out of position as price increases:
Let’s say you got in early on GMX and you want to start scaling out of it, but you don’t want to market sell at any one price because you think it can go up more. If the current price is $67.47, you need a way to DCA out of this position. You could set up a UniV3 LP position in the GMX/USDC pool where the range is set to $68-$75. In this setup, since the current price is lower than $68, you would deposit 100% GMX. If the price increases, your GMX would slowly get sold into USDC. And if the price of GMX hits $75, then 100% of the GMX you deposited would be converted into USDC. This would allow you to DCA out of GMX while also earning fees.
3. Stack ETH:
All of the examples we’ve given so far have been denominated in USDC but that doesn’t always have to be the case. You can enter an LP position in any pool, regardless of the denomination. It’s just a lot easier for beginners to learn these new concepts when thinking in USDC, rather than denominating in something like ETH.
For this example, let’s say you’re feeling confident about GMX and think it will outperform ETH in the short term, but your main goal is to stack as much ETH as you can. You could do so by creating an LP position in the GMX/ETH pool. If the current price is 0.04 ETH per GMX, you could set a range of 0.041 - 0.06. Since the current price is lower than 0.04, you would deposit 100% GMX. If the price of GMX (in relation to ETH) increases, your GMX would slowly be converted into ETH. And if the price of GMX hits 0.06, then 100% of your GMX would be converted to ETH.
4. Just chase after the yield:
You could also ignore all of these strategies and just enter LP pools you’re relatively confident in, set less aggressive ranges, and sit back and enjoy the yield. With UniV3, even if you set relatively wide ranges, you’ll still find that these are probably some of the best yield opportunities that exist in DeFi. But always be cognizant of what will happen if the price exits your set range.
If this piece sparked your interest, I’d HIGHLY recommend taking a small amount, forming an LP position, and just tracking it for 1-2 weeks. Make sure you fully understand this new method of liquidity providing before you put up any meaningful amount of money.
I’ll leave you with some tools that I use to find, research, and track my LP positions:
Revert is an incredible tool for searching for existing LP positions and researching their performance. Make sure you understand all their metrics and how they’re calculated. It’s also great for helping you track the performance of any live LP positions that you have open.
APY Vision is a helpful tool for tracking LP position performance, as well. My favorite thing about APY Vision is that it tracks the USD value of your position when you first entered and makes calculations based off of that number.
Disclaimer: This is DeFi, everything is risky. Smart contract risk is real and you should do your own research before interacting with these protocols to determine if the risk matches your personal appetite. Finally, some of these protocols have their own token, and inclusion on this list doesn’t mean that we have an opinion on their token.
Listen to our latest weekly DeFi Friday Twitter Space chat and follow Invisible College on Twitter to join the next one! 👇
If you enjoyed this post, could please let us know by giving the heart button below a tap?