Concentrated Liquidity Pools

Prezzel
7 min readJul 25, 2022

--

Intro:
Not financial advice, just a deep dive on something I’ve spent a lot of time to understand.

This piece is relevant for Orca.so and Uniswap V3 pools. I’m sure it could be applied elsewhere but these are where I operate.

By the end of this hopefully you will have a sufficient understanding of concentrated liquidity pools to be able to effectively open, monitor, and close a position.

Defi Basics:
A market maker in traditional finance is a centralized entity that uses an order book where sellers can list an asset at a certain price and buyers can see what’s available and buy at an available price. The market maker fills in any gaps in the order book created by the market participants thus facilitating a nice liquid market for all parties. In decentralized finance a decentralized exchange(DEX) uses an automated market maker(AMM) to perform the same function by relying on publicly visible math as opposed to a central entity’s proprietary process. A liquidity pool(LP) is a specific pair or even a group of assets that uses an AMM algorithm to create a market for moving between those assets. Any market participants are free to contribute to an LP and they receive a share of the fees from anyone that uses that market to move between assets. Deploying capital into an LP in order to earn a portion of trading fees is a bet against short term volatility. The primary risk of participating in an LP is called impermanent loss(IL). The practical way to think about IL is when you contribute to an LP you do so in a ratio of assetA to assetB and the ideal scenario is that the ratio is the exact same when you remove your funds from an LP, if it is not then you will be realizing an impermanent loss as you exit. In a normal LP your capital is used to support all possible ratios that the pair could go to, either asset going to zero and the other going to infinity, the full range of possibilities. In a concentrated LP you are able to select the range of ratios you would like your capital to support and this specificity entitles you to a greater share of the fees as long as trading is happening within your selected range.

Selecting a pair:
Liquidity pool pairs fall into three categories, stable pairs, volatile pairs, and a stable/volatile pairing.

A stable pair divides into two more sub groups which include stablecoin pairs and correlated assets. A stablecoin pair groups together two assets that are pegged to the dollar, something like USDC and DAI. Correlated assets would be a pair such as Eth and stEth which is a liquid staking derivative that should theoretically trade very closely to the value of Eth. Since stable pairs minimize the risk of IL the fee rate is very low on these and many people contribute to these which further reduces their earning potential. There’s some opportunities here where you can use extremely tight ranges and be hyper vigilant, but generally speaking it’s easier and less stressful to just put your capital into a lending protocol and earn about the same.

A volatile pair combines two assets, neither of which is pegged to the dollar, and there’s no fundamental reason they should be pegged to each other. An example would be a pairing of APE(the token of the Bored Ape Yatch Club NFT project) with Eth. These pairs are extremely difficult to play, but do typically offer the most yield. There are advanced strategies for taking advantage of these pools that usually require the liquidity provider to be intimately familiar with the project associated with the more volatile token in order to be successful. As a result, playing pools like these are often unique opportunities and are not suitable for repeatable strategies.

The pairing I’ll be focusing on is a volatile asset such as Eth or Sol with a stable asset like USDC. Pairs like this with the chains native asset and a dollar pegged stablecoin are in high demand as people constantly move in and out of those two assets as they speculate on a day to day basis. All this volume creates a substantial amount of fees and therefore the yields on these types of pools are easily in the high double figures and frequently in triple digits even with a forgiving range. The fees are paid in the assets of the pool so providing liquidity to these pools means you don’t have to do other transactions to swap pool rewards into assets you want to hold which is especially relevant on the ethereum chain. With these pairs the entry ratio is easy to track because the stablecoin doesn’t change in value. That means if I enter a liquidity pool when 1 ETH = 1000 USDC then going forward whenever the price of Eth is near 1000$ that is a potential exit opportunity to take the earned fees and leave with minimal IL. When you combine the quality of life in managing one of these positions, their potential returns, and the general truism that most of the time markets move sideways, these types of pools offer an attractive way to put digital assets to work.

Opening a position:
I use a basic technical analysis strategy called Trading the Range to identify the top and bottom of my range. When an assets price bounces off a specific value multiple times if that value is acting as a ceiling it is called a resistance level, if that value is acting as a floor for the price it is called a support level. When you can identify support and resistance levels those create a channel. You’re now able to “trade the range” by buying low and selling high. In our case though rather than actually trading assets we’re going to take advantage of the setup and let the AMM do the work while we kick back and collect fees. If you’re having trouble grasping this approach, when you’re setting your price range you can see how the rest of the liquidity providers are deployed and you can compare the big cliffs others are targeting against the price of that asset over time on coinmarketcap to get a sense for how to target levels with this strategy.

Risk to Reward Evaluation:
Constructing a risk to reward profile before opening a position is critical when managing assets. This will let you know how long you need to hold the position to cover the risk inherent in the play which you can use to decide if the play aligns to your goals and temperament.

The only data you need to project your position is the total amount of capital you’re allocating to the pool, your entry point, upper bound, and lower bound. Then I like to use a conservative, average, and aggressive set of APR numbers to have couple options to gauge the potential for different market conditions.

Let’s take an Eth/USDC example and say we have 1000$ to allocate. We’ll enter with a Eth at a price of 1500$ with an upper bound of 2000$ and a lower bound of 1000$. A lot of the resulting math is dependent on the leverage, upper IL, and lower IL calculations which are readily available in Orca’s and Uniswap’s docs and can be determined from those inputs. The results are that if you blow past your upper bound you’ll need to realize an impermanent loss of 64$. If you drop below your lower bound you would have to realize an impermanent loss of 126$. Knowing those you can calculate how long you need the price to stay in range in order to cover those risks. With a conservative 50% APR you’d need 47 days to cover your upper risk or 92 days before your lower risk is covered. A more average estimate of 125%, which is realistic with pools like this, you could have most of your IL risk covered within a month at which point it becomes all upside, not a bad play for the bear market.

Monitor the Position:
These positions need to be checked daily if not more often due to the volatile nature of crypto markets. There are three major components to monitoring an LP position. The first is liquidity, which is how much money in total is facilitating the liquidity in the pool. You can get whales that will pull out large amounts at once which means less volume can have a greater impact on price. If the price stays in your range this could result in more fees, but it also makes it more likely that the price leaves your range. The second is volume, which is how much money is being exchanged in the pool. This can similarly be very profitable if there’s a large increase, but also increases the risk that the price leaves your range. The last and easiest is just monitoring the price of your volatile asset in the pool. Whenever the volatile asset is close to your entry price and you can take little to no IL an exit should be considered because that’s a quality play.

Summary:
The liquidity pool powered by an automated market maker hosted by a decentralized exchange is the beating heart of decentralized finance. The initial formulas that are at the core of these offerings will likely be looked back on as crude as these markets continue to evolve as they need to solve problems that continue to increase in complexity. For the moment these are the best we’ve got and participating in LPs, monitoring liquidity, and tracking volume allows you to keep your finger on the pulse of an ecosystem. I think there are more circumstances than not where positions in LPs are worth the risk to reward. I’ll close with a couple lessons learned.

-Don’t chase crazy high APR volatile pairs.
-Don’t continually adjust your range as it gets close to the edge, that’s a good way to repeatedly eat a bunch of IL hits.
-Stablecoin pair LPs are boring, might as well stake or lend.
-Play pools where the vast majority of the APR is generated by trade fees, they’re the most consistent.
-The classic mistake is when the price goes up, people think “up is up, let’s take my winnings and go home” but that thinking results in people taking IL hits that haven’t been compensated for by the fees, and getting absolutely rekt by paper handing when the price goes down.
-Be disciplined, be patient, trust the range.

Jump in the pool, the water’s great!

--

--