DEX LP Guide + IL Math
Providing liquidity to a decentralized exchange means depositing two tokens into a smart contract pool so that traders can swap between them. In return, you earn a share of trading fees. The mechanism is straightforward until you account for impermanent loss, which can erase fee income and turn profitable positions into net losses.
This guide decomposes the LP process on Uniswap v3/v4 and Curve Finance. You will learn how to select fee tiers, set price ranges, calculate impermanent loss, and determine when fee income exceeds the structural cost of holding assets in a pool rather than in your wallet.
What You Need Before You Start
You need three things to provide liquidity on a DEX:
- A non-custodial wallet (MetaMask, Rabby, or a hardware wallet like Ledger) connected to the Ethereum mainnet or a compatible Layer 2 network
- Equal dollar value of two tokens for the pool you want to LP (e.g., $1,000 of ETH and $1,000 of USDC for an ETH/USDC pool)
- Enough ETH to cover gas fees for the deposit transaction (typically $10-$50 on mainnet, $0.10-$2 on Arbitrum or Optimism)
If you do not yet have a wallet set up, follow the MetaMask setup guide before proceeding. If you are depositing on a Layer 2 network, you will need to bridge assets from mainnet first.
Step 1: Choose Your Protocol and Pool
Uniswap and Curve serve different use cases. Uniswap v3 and v4 are designed for volatile token pairs (ETH/USDC, LINK/WETH) and offer concentrated liquidity, which allows you to narrow the price range where your capital is active. Curve specializes in stablecoin and pegged-asset pools (USDC/DAI/USDT, stETH/ETH) using a low-slippage curve optimized for assets that trade near 1:1.
Stablecoin pools on Curve have lower fee income per dollar deposited but near-zero impermanent loss risk. Volatile pairs on Uniswap offer higher fee percentages but expose you to significant IL if prices move sharply.
For this guide, we will walk through depositing into a Uniswap v3 ETH/USDC pool and a Curve 3pool (USDC/DAI/USDT).
Step 2: Select Your Fee Tier (Uniswap Only)
Uniswap v3 offers four fixed fee tiers: 0.01%, 0.05%, 0.30%, and 1.00%. Uniswap v4, launched January 30, 2025, allows custom fee tiers but defaults to the same structure for most pools.
The 0.30% tier is the default for most token pairs. It balances competitive fees for traders with meaningful income for LPs. The 1.00% tier is used for exotic or highly volatile pairs where LPs need higher compensation for IL risk. The 0.05% and 0.01% tiers are reserved for stablecoin pairs or correlated assets like WETH/stETH.
Choosing the wrong fee tier can result in zero organic volume. If you deposit into a 1.00% ETH/USDC pool when all the trading volume flows through the 0.30% pool, you will earn nothing. Check the TVL and 24-hour volume on each fee tier before depositing. The pool with the highest volume-to-TVL ratio is usually the correct choice.
How to Check Fee Tier Volume
- Go to Uniswap’s app interface and connect your wallet
- Search for the token pair you want to LP (e.g., ETH/USDC)
- Click “Pool” in the top navigation, then “New Position”
- Select each fee tier and observe the TVL and volume metrics displayed beneath each option
- Choose the tier with the highest 24-hour volume unless you have a specific reason to use a different tier
Step 3: Set Your Price Range (Concentrated Liquidity)
Uniswap v3 and v4 allow you to concentrate liquidity within a price range. If ETH is currently trading at $3,200, you might set a range of $3,000 to $4,000. Your capital will only be active within that range. If the price moves outside the range, you stop earning fees until it returns.
Concentrated liquidity increases capital efficiency. Instead of spreading your $10,000 across all possible prices (as in Uniswap v2), you can concentrate it in a narrow band and earn fees as if you had deposited $40,000 or more. The trade-off is that you amplify impermanent loss and require active management.
Narrow ranges (e.g., $3,100-$3,300) earn higher fees per dollar but go out of range quickly. Wide ranges (e.g., $2,500-$4,500) require less monitoring but earn lower fee percentages because your capital is spread thin.
Setting the Range in the Uniswap Interface
- After selecting your fee tier, you will see a price chart with two draggable handles representing the min and max price
- Drag the left handle to set the minimum price where your liquidity will be active
- Drag the right handle to set the maximum price
- The interface will display your capital efficiency multiplier and the percentage of your deposit allocated to each token
- If the current price is at the bottom of your range, you will deposit mostly the higher-priced asset; if it is at the top, you will deposit mostly the lower-priced asset
For passive LPs who do not want to rebalance daily, set a wide range that captures at least 30-50% price movement in either direction.
Step 4: Deposit Your Tokens
Once you have selected your fee tier and price range, the interface will prompt you to approve both tokens and then deposit them.
- Click “Approve ETH” (or whichever token is listed first) and confirm the transaction in your wallet
- Wait for the approval transaction to confirm, then click “Approve USDC” and confirm again
- Click “Add Liquidity” and confirm the deposit transaction
- Wait for the transaction to confirm. You will receive an NFT representing your LP position (on v3) or a fungible LP token (on v4 and Curve)
Gas fees for this process on Ethereum mainnet can range from $20 to $100 depending on network congestion. On Layer 2 networks like Arbitrum, the total cost is usually under $2. Uniswap v4’s singleton contract design reduces gas costs by up to 99.99% compared to v3 when creating new pools, but depositing into existing pools sees smaller savings.
Step 5: Monitor Your Position and Rebalance if Needed
After depositing, you need to monitor two things: whether your position is in range, and whether your accumulated fees exceed your impermanent loss.
If the price moves out of your range, you stop earning fees. Your position will consist entirely of the token that depreciated. If ETH falls from $3,200 to $2,800 and your range was $3,000-$4,000, you will hold 100% ETH and 0% USDC. You can either wait for the price to return to your range or withdraw, rebalance, and re-deposit with a new range.
Rebalancing incurs gas fees and may trigger taxable events depending on your jurisdiction. Passive LPs should set wide ranges to minimize rebalancing frequency.
Providing Liquidity on Curve Finance
Curve’s process is simpler because it does not use concentrated liquidity. You deposit tokens in any proportion, and the pool automatically rebalances them. Curve pools are optimized for stable-value assets, so impermanent loss is minimal as long as the assets maintain their peg.
- Go to Curve’s app and connect your wallet
- Select the pool you want to deposit into (e.g., 3pool, which contains USDC, DAI, and USDT)
- Enter the amount of each token you want to deposit. You do not need equal amounts; Curve accepts imbalanced deposits
- Click “Deposit and Stake” to earn both trading fees and CRV token rewards
- Confirm the transaction and wait for it to process
Curve LPs in the 3pool currently earn 2-5% from trading fees plus additional CRV governance token rewards. Total APY varies based on CRV price and emissions schedule. Because the pool contains three stablecoins that trade within a few basis points of $1.00, impermanent loss is negligible under normal market conditions.
The Math of Impermanent Loss
Impermanent loss is the difference between the value of your tokens inside the pool versus the value if you had simply held them in your wallet. It occurs because arbitrageurs rebalance the pool whenever the external market price diverges from the pool’s internal ratio. You end up holding more of the token that depreciated and less of the token that appreciated.
The formula for IL in a 50/50 constant-product pool is:
IL = 2√d / (1 + d) – 1
Where d is the price ratio change. If ETH doubles in price relative to USDC, d = 2. Plugging that in:
IL = 2√2 / (1 + 2) – 1 = 2.828 / 3 – 1 = -0.057, or 5.7% loss compared to holding.
Worked Example 1: ETH Doubles
You deposit 1 ETH (worth $2,000) and $2,000 USDC into a pool. Total value: $4,000.
ETH doubles to $4,000. If you had held both tokens, your total value would be $6,000 (1 ETH at $4,000 + $2,000 USDC).
Inside the pool, arbitrageurs buy ETH with USDC until the pool rebalances. You now hold 0.707 ETH and $2,828 USDC. Total value: $5,656. You lost $344, or 5.7%, due to impermanent loss.
Worked Example 2: ETH Rises 50%
You deposit 1 ETH (worth $2,000) and $2,000 USDC. Total value: $4,000.
ETH rises 50% to $3,000. Holding would give you $5,000 total value.
Inside the pool, you now hold approximately 0.816 ETH and $2,449 USDC, for a total of $4,897. You lost $103, or about 2.06%, compared to holding.
The impermanent loss percentage increases non-linearly as the price diverges further from the initial deposit ratio. A 4x price move results in 20% IL. An 8x move results in 32.5% IL.
For a deeper dive into the mechanics of impermanent loss and when fees offset it, see this breakdown of the LP concept that costs money.
When Is Providing Liquidity Profitable?
LPs profit when accumulated fee income exceeds impermanent loss. This depends on four factors:
- Trading volume: High-volume pools generate more fees. The ETH/USDC 0.30% pool on Uniswap processes billions of dollars in daily volume, which translates to meaningful fee income for LPs.
- Fee tier: Higher fee tiers (1.00%) generate more income per trade but attract less volume. Lower tiers (0.05%) generate less per trade but may have higher total volume.
- Price volatility: Low-volatility pairs (stablecoins, correlated assets) minimize IL. High-volatility pairs require very high fee income to overcome IL.
- Time horizon: Fees accumulate linearly over time. IL is a function of price change, not time. If the price returns to the initial ratio, IL drops to zero and you keep all the fees. If the price diverges permanently, IL becomes a realized loss when you withdraw.
Stablecoin pools on Curve are profitable for passive LPs because IL risk is near zero and fees accumulate steadily. Volatile pairs on Uniswap are profitable only if fee income exceeds the IL caused by price movement, which typically requires either very high volume or mean-reverting price action.
Common Failure Modes
Stablecoin Depeg
If a stablecoin in a Curve pool loses its peg, LPs suffer catastrophic losses. When USDC briefly depegged to $0.87 in March 2023 during the Silicon Valley Bank crisis, LPs in USDC-heavy pools were left holding a depreciating asset. The pool does not protect you from fundamental asset failure.
Out-of-Range Positions on Uniswap
Concentrated liquidity positions earn zero fees when the price moves out of range. If you set a $3,000-$4,000 range for ETH and the price falls to $2,500, you hold 100% ETH and earn nothing until the price recovers. This is a capital efficiency trap: you amplified your exposure to ETH’s downside without earning any yield to compensate.
Gas Costs Exceeding Fee Income
Small positions on Ethereum mainnet often lose money to gas fees. If you deposit $500 and pay $50 in gas to enter, $50 to exit, and $50 to rebalance, you need to earn $150 in fees just to break even. Use Layer 2 networks or deposit larger amounts to avoid this failure mode.
Volatile Pairs in Low-Volume Pools
LPing a low-cap altcoin pair with high volatility and low volume is almost always unprofitable. You suffer maximum IL from price swings and earn minimal fees because no one is trading. Only LP high-volume pairs unless you have specific information about upcoming volume catalysts.
What to Do After You Deposit
Check your position weekly (or daily for narrow ranges). The Uniswap and Curve interfaces display accumulated fees and current position value. Compare your current value to what you would hold if you had not deposited. If IL exceeds fees and you expect continued price divergence, consider exiting.
For Uniswap v3 concentrated positions, monitor whether your range is still active. If you go out of range and the price shows no sign of reverting, withdraw and either re-deposit with a new range or hold the tokens in your wallet.
For Curve positions, monitor the peg stability of the underlying assets. If one stablecoin consistently trades below $0.99, consider exiting before a full depeg occurs.
The Takeaway
Providing liquidity is profitable when fee income exceeds impermanent loss. Stablecoin pools minimize IL but offer low fee percentages. Volatile pairs offer higher fees but require either mean-reverting price action or extraordinary volume to overcome IL.
Concentrated liquidity on Uniswap increases capital efficiency but requires active management. Wide ranges reduce rebalancing frequency but lower fee income per dollar. Curve’s stablecoin pools are the simplest passive LP strategy with the lowest IL risk.
The specific failure mode to monitor is price divergence that exceeds accumulated fees. If the price of one token doubles and you have not earned 5.7% in fees, you would have been better off holding. Check your position regularly and know when to exit.
Frequently Asked Questions
What is impermanent loss and when does it become permanent?
Impermanent loss is the difference in value between holding tokens in a liquidity pool versus holding them in your wallet. It occurs because the pool automatically rebalances when prices change, leaving you with more of the depreciating asset. The loss is ‘impermanent’ only if the price returns to the initial ratio before you withdraw. If you withdraw while the price is diverged, or if the price never reverts, the loss becomes permanent. A 2x price move causes 5.7% IL; a 4x move causes 20% IL.
Which fee tier should I choose on Uniswap v3?
Use the 0.30% fee tier for most volatile token pairs like ETH/USDC or LINK/WETH. Use 0.05% or 0.01% for stablecoin pairs or highly correlated assets like WETH/stETH. Use 1.00% only for exotic or extremely volatile pairs. The correct tier is the one with the highest trading volume, which you can check in the Uniswap interface before depositing. Choosing a tier with low volume means you earn almost no fees.
How do I know if my LP position is profitable?
Compare your current position value (tokens plus accumulated fees) to the value you would have if you had simply held both tokens in your wallet. If your LP value is higher, you are profitable. If it is lower, impermanent loss has exceeded your fee income. The Uniswap and Curve interfaces show accumulated fees and current token amounts. Most LPs profit on stablecoin pairs due to low IL. Most LPs lose on volatile pairs unless volume is very high.
What happens if my Uniswap v3 position goes out of range?
You stop earning fees immediately and your position converts entirely to one token. If ETH price falls below your minimum range, you hold 100% ETH and 0% USDC. If it rises above your maximum, you hold 100% USDC and 0% ETH. You can wait for the price to return to your range, or withdraw and re-deposit with a new range. Rebalancing incurs gas fees and may trigger taxes. Wide ranges reduce the chance of going out of range.
Is providing liquidity on Curve safer than Uniswap?
Curve is safer for impermanent loss because it specializes in stablecoin and pegged-asset pools where price volatility is minimal. However, Curve LPs still face stablecoin depeg risk. If USDC or DAI loses its peg, you will be left holding a depreciating asset. Curve also offers lower fee percentages than Uniswap because stable pairs have less volatility. Neither protocol eliminates smart contract risk, oracle risk, or the risk of holding the underlying assets.










