Over the last few weeks, I have been asked by several people to explain the process of providing liquidity on a decentralized exchange like Uniswap. In an effort to answer this question, I have put together a quick blog post that explains it all from a layman’s perspective. Providing liquidity is an excellent way to put your existing crypto to work, but it doesn’t come without risk. Read on to learn more.
What Is A Liquidity Pool?
Think of a liquidity pool as a big pot where people deposit cryptocurrencies for use in trades on a decentralized exchange (DEX). On a dex, instead of having buyers and sellers make trades directly with each other, trades instead happen against this pot of crypto assets.
For example, if you want to trade ETH for USDC on Uniswap, you’re not buying directly from another person. Instead, you’re trading against a pool of ETH and USDC that other people have deposited. This pool ensures that there’s always some amount of each cryptocurrency available for trade. Without liquidity pools, there wouldn’t be any assets for you to trade.
How Do Trades Work On A DEX?
When you place a trade on a DEX, you’re essentially interacting with a liquidity pool. Here’s a simple breakdown:
Depositing Funds: Users deposit pairs of crypto coins into a liquidity pool. For instance, if you add liquidity to an ETH/USDC pool, you’ll deposit both ETH and USDC into the pool.
Making a Trade: When you make a trade (say, you want to swap ETH for USDC), the DEX calculates the amount you’ll get based on the ratios of the assets in the ETH/USDC liquidity pool we talked about above. The more you trade, the more the balance of that pool changes, which affects future trades and prices. For example, let’s say there is a liquidity pool with 1000 in USDC and an equivalent amount of ETH. Someone buys $100 of ETH using USDC. Now, the pool has $1100 in USDC and only $900 in ETH. This will be reflected by a change in the price of ETH on that DEX.
Earning from Fees: As a liquidity provider, you earn a share of the transaction fees charged by the DEX. Each time a trade is executed, a small fee is collected, and a portion of this fee is distributed among all liquidity providers. The more liquidity you provide, the greater your share of the fees will be. On top of this, many DEX's incentivize liquidity pools by adding emissions of their own token, such as AERO.
Automated Market Makers (AMM): DEX’s use AMM’s to manage liquidity pools. An AMM is a smart contract that automatically adjusts the prices based on the amount of each asset in the liquidity pool. It ensures that trades can be executed continuously without needing a traditional order book.
Risks Of Providing Liquidity
Providing liquidity doesn’t come without risk. While the process is entirely managed with a smart contract, there is still risk involved. As always, you must consider smart contract security, market stability, and the fee structure. However, the primary risk of providing liquidity is called ‘Impermanent Loss’ (IL).
Impermanent loss occurs when the value of the assets in your liquidity pool changes compared to holding them in your wallet. This happens because the prices of the assets in the pool fluctuate, affecting the balance of assets and their relative values. If you provide liquidity to a pool and the price of one asset rises significantly compared to the other, you might end up with less of the appreciating asset when you withdraw your funds. This could result in a lower value of your total assets compared to if you had simply held them outside the pool.
Consider the following scenario using an ETH/USDC pool to better understand impermanent loss:
Initial Deposit: You deposit 1 ETH (worth $1000) and $1000 USDC. The total value is $2000.
Price Change: ETH’s price rises to $1200
Withdrawn Value: After the price change, you withdraw and get .85 ETH and $1020 USDC. Value of .85 ETH at $1200 = $1020. Added with the $1020 USDC, you have $2040.
Value if Held: If you had just held the 1 ETH and $1000 USDC, it would be worth $1200 (ETH) + $1000 (USDC) = $2,200.
Impermanent Loss: Value in the pool: $2040. Value if held: $2200. Impermanent Loss is $2200 - $2040 = $160.
In the above example, impermanent loss is $160 or 7.27%, meaning you would have been better off holding the assets rather than providing liquidity. However, you have to consider any incentives or fees earned before calculating overall profitability.
How To Provide Liquidity On A DEX
Now that you understand the basics, I will walk you through the steps for providing liquidity. In the example below, I will be providing liquidity for TN100x & ETH on Aerodrome. This pool is currently incentivized with AERO emissions, making the APR very lucrative. Please note that the process for adding liquidity may be slightly different depending on which DEX you are working with.
Step 1: Go to https://aerodrome.finance/ and click the 'Connect' button in the top right hand corner. This will connect your wallet to Aerodrome.
![](https://storage.googleapis.com/papyrus_images/b2c5200b0dba42209aa324df28e9c98b.jpg)
Step 2: Navigate to the ‘Liquidity’ tab at the top of the page. This will take you to a page with all active liquidity pools on Aerodrome. From here, you can either search for the pool you would like to deposit funds into. Search for TN100x and click the ‘Deposit’ button.
![](https://storage.googleapis.com/papyrus_images/b10361f1e3b869a1ff295f0b2c4d8283.jpg)
Step 3: On this page, you deposit an equal amount of both assets into the liquidity pool. In our case, we will be depositing TN100x and ETH. Input the amounts you would like to deposit and then click the ‘Allow’ buttons to the right for both WETH & TN100x. After you allow both TN100x & ETH, click Deposit and confirm the transaction in your wallet.
![](https://storage.googleapis.com/papyrus_images/7b7f5f52ad77b59d4368cf140bcf9196.jpg)
![](https://storage.googleapis.com/papyrus_images/5ee15faeabac4e645b151af099dd2db6.jpg)
Congratulations! You are now providing liquidity on Aerodrome. But, we’re not quite done. Now we need to stake your deposit to earn incentivized AERO emissions.
Step 4: Navigate to the ‘Dashboard’ tab again. From there, you will see the liquidity that you just provided, along with options to ‘deposit’ ‘withdraw’ and ‘stake’. Choose ‘Stake’.
![](https://storage.googleapis.com/papyrus_images/9def5e9094b2a14936c16a097c689b3c.jpg)
Step 5: On this page, you will see a sliding bar which allows you to determine how much of your deposit you want to stake. Choose the amount you want to stake and then click ‘Allow vAMM-WETH/TN100x’. After the contract is allowed, click the ‘Stake’ button to finish the process.
![](https://storage.googleapis.com/papyrus_images/0e0934c32b12eb5804cc2bc31c246d37.jpg)
That’s it! You are now providing liquidity for TN100x & ETH on Aerodrome and earning 250% APR in AERO emissions. Please note that the APR will fluctuate depending on a number of factors including volume.
This was an introductory lesson on providing liquidity. There is a lot more to it than this, but it should be a good place for you to start. In our next lesson, we will cover providing concentrated liquidity on a DEX like Uniswap. Concentrated liquidity allows you to be more capital efficient and earn more in fees but it also increases the risk of impermanent loss.
Now, get out there and give it a try! It’s honestly the best way to learn about providing liquidity. Start small and take your time until you get the hang of it!
![highlight](/api/highlight?text=A%20Lesson%20On%20Liquidity%20Pools&author=Maretus'%20Thoughts&url=%40maretus.eth&avatarUrl=https%3A%2F%2Fstorage.googleapis.com%2Fpapyrus_images%2F117a84dc2fcaa2d9e951fe31ca6d01d7.jpg&featuredImageUrl=&size=512)
![Maretus' Thoughts logo](/_next/image?url=https%3A%2F%2Fstorage.googleapis.com%2Fpapyrus_images%2F117a84dc2fcaa2d9e951fe31ca6d01d7.jpg&w=384&q=75)