Guide to Concentrated Liquidity
With this guide, I'm going to demystify everything you wonder about liquidity provision and more importantly, I'm going to teach you how to make money by providing concentrated liquidity.
In the first step, I'm going to briefly cover the basics of liquidity provision and then I'm going to give you a comprehensive overview of concentrated liquidity provision. It's going to be a long tweet, so get ready, here we go!
1) First of all, what is liquidity provision
At this point, I'm going to assume that everyone reading this guide knows what decentralized exchanges (DEXs) are and that they use them. As you know, on DEXs, we can trade the tokens we hold for other tokens. At this point, what allows the swap to take place is that the assets you are going to swap have liquidity pools. In liquidity pools, two assets (more than two if you're using Balancer) are added to the liquidity pool by users who hold those tokens in the market, allowing other users to trade their holdings using these pools. In simpler terms, liquidity providers add their holdings to liquidity pools so that other users can trade them. But liquidity provision also has risks that should not be ignored, which I will discuss at the end.
2) So what is the interest of liquidity providers in this situation?
Liquidity providers receive a commission on transactions executed in the pool they provide liquidity to. In the Uniswap v2 forks, this was usually 0.3%. But in Uniswap, it is now possible to set different commission rates for the assets to be added to the pool when we add concentrated liquidity, in general, USDC/USDT or ETH/USDC pools come with a low commission rate of 0.01%, while in shitcoin pools, liquidity providers naturally prefer to charge higher commissions.
Why do I say naturally? It's based on a simple premise, users are most likely to swap ETH, USDC or USDT and don't prefer pools with high commissions, on the other hand, the 1% commission rate you can see in the Uniswap v3 screenshot below is classified as the best for "exotic pairs", in short, for shitcoins which usually involve a lot of risk, liquidity providers should prefer to charge higher commissions to reduce their risk, we can assume that the more volume and relative reliability of a token increases, the lower commission rate pools will become more common over time.
3) Traditional DEXs vs Concentrated Liquidity Providers (Uni v3 / Trader Joe / Meteora DLMM)
Now, friends, we are getting to the point where everything will become clear. As the name "concentrated liquidity" implies, when you add concentrated liquidity, you only add liquidity to a specific price range. In essence, this avoids the inefficiency of providing liquidity in Uni v2 forks (I'll call it traditional dex instead of uni v2 fork from now on) and you earn more transaction fees (commissions) by using the liquidity you add more efficiently. Now you can see by looking at the images below that on traditional DEXs you add liquidity on an infinite price curve. But on the other side, you add liquidity to a narrow range on this infinite curve.
Now, I'm going to give you a simple explanation and exaggerate these examples to help you understand that the trading fees are higher here. On traditional DEXs, since each user adds liquidity on the same infinite price curve, everyone earns a trading fee on the DEX's swaps in proportion to the liquidity they add to the pool.
Example 1: After a certain period of time in the liquidity pool of a traditional DEX, liquidity providers have collected $1000 in trading fees, while your share of the total liquidity in the pool is only 1% of the pool. So we can say that you will earn $10 on this position.
(I will always use USDC pairs to make the examples much clearer) With concentrated liquidity, the situation is a bit different because, as we emphasized, in this model, each user can add liquidity to any range. In this case, what is the condition for you to earn a transaction fee by adding liquidity?
Execution of swap transactions using your liquidity. If you want to earn trading fees with concentrated liquidity, the market price of the asset you add to the pool must be within the range you set. If the price is outside your range, you will not earn a trading fee.
Example 2: You added concentrated liquidity to the ETH/USDC pool and let's say the price of 1 Ether is now $2000. The range you set was ($2900,$3000). In this case, you will not earn a trading fee because the market price is outside your range.
Example 3: You added concentrated liquidity to the SOL/USDC pool, now 1 SOL is $100. Your range is ($90,$110), in this case you will earn a trading fee until the SOL price moves out of the range. Now that we understand how concentrated liquidity works in price ranges, I will explain one last thing about how this system works and move on to the implementation methods. Now, let's say the market price of Ethereum is $3000 and we added liquidity to the range ($2000,$4000). In this case, the liquidity we add to the pool will be as follows:
Our chosen range (2000$,4000$) You would add USDC to the ($2000,$3000) range and Ether to the ($3000,$4000) range. In this case, if the Ether price rises, users on the network will buy the Ether you put in the ($3000,$4000) range and give you USDC in return. In the other scenario, if the price of Ether goes down, users will sell their Ether for the USDC you added to the ($2000,$3000) range. So, in simple terms, the liquidity you add to the ($2000,$4000) range means: "I want to sell my Ether at ($3000,$4000) and buy Ether at ($2000,$3000)."
At the end of the day, if the price of Ether rises to $4000 and above, you'll be left with USDC because you've sold all the Ether you've added liquidity to. If the price of Ether falls to $2000 and below, you will be left with Ether because you bought Ether with all the USDC you added liquidity.
4) Concentrated Liquidity Strategies
Now that we understand the basic logic and conditions of concentrated liquidity provision, let's look at how you can use it in practice. In particular, the flexibility of the liquidity book model developed by Trader Joe allows us to implement various strategies on TJ and Meteora.
The main reason for these possibilities is that on TJ and Meteora, you can adjust where in the range the liquidity you add is concentrated. Here are some examples of what we can do:
→ Add liquidity on one side:
- Staggered buying: If you want to buy and accumulate a token when its price drops, you can add only USDC below the market price and automatically do so as the price drops.
- Gradual sell: If you want to realize your profits by gradually selling a token you already hold, you can add liquidity to a range above the market price and gradually sell it as the price increases to get USDC.
→ Add bilateral liquidity:
Adding two-sided liquidity is often a way for users to collect transaction fees to generate yield, which is a bit more difficult to manage than other strategies. Essentially, we are combining the single-sided liquidities I mentioned above, but these positions need to be actively controlled. When adding double-sided liquidity in TJ and Meteora, we see 3 different allocation types.
Spot: Liquidity provides an even distribution of liquidity over your chosen range. This is a strategy where your liquidity is spread evenly and works for most conditions and tokens. Curve: Focuses most of your liquidity around the center of your chosen range. This allows you to maximize your efficiency. Generally suitable for pairs with low volatility.
Bid Ask: Distributes most of your liquidity weighted to both ends of your chosen range. Like the other allocations, it is not for general use but can be used to catch unusual moves or for highly volatile pairs.
5) Risks of Providing Liquidity
First of all, the most obvious one is the smart contract risk. If there are problems in the code of the protocols you use, we won't know until they are hacked. Then comes Impermanent Loss (IL), but if you are going to provide concentrated liquidity before IL, you should never forget this. Concentrated liquidity positions should be created with some thought in mind and should be actively monitored, because if the price is out of your range, you will not earn trading fees and worse, you may be left with a handful of useless tokens. Therefore, you should never forget and control the positions where you provide concentrated liquidity.
The last topic is Impermanent Loss (IL) In short, sometimes it is more profitable to just hold those tokens than to add liquidity.
"Example: Tom deposits 1 ETH and 100 DAI into a liquidity pool. On a traditional DEX, the pair of tokens deposited must be of equal value. This means that at the time of the deposit, the price of 1 ETH is 100 DAI and Tom's deposit is 200 dollars. Also, if there are a total of 10 ETH and 1,000 DAI in the pool, Tom's share in the pool is 10% and the total liquidity is k. In the case where the ETH price rises to 400 DAI. When this happens, arbitrageurs add DAI to and subtract ETH from the pool until the ratio reflects the current price.
Although the liquidity in the pool remains constant, the proportion of assets in the pool has changed. The pool now has 5 ETH and 2,000 DAI thanks to the arbitrageurs. Tom decides to withdraw his assets. As a result, he can withdraw 0.5 ETH and 200 DAI, worth a total of $400. The initial value of Tom's deposited assets was $200 and now it's $400, but it would have been more profitable for Tom to keep his funds in his wallet instead of depositing them in the liquidity pool. This is because the 1 ETH and 100 DAI he initially deposited are currently worth $500, while the 0.5 ETH and 200 DAI he now holds are worth $400. This is called impermanent loss.
Friends, I have tried to explain the concept of concentrated liquidity and liquidity provider and how you can use concentrated liquidity as much as I can until here. I hope it was explanatory.