Liquidity Pools Explained: How DEXs Actually Work
Traditional exchanges match buyers with sellers through order books. Decentralized exchanges take a different approach: they use liquidity pools — smart contracts holding pairs of tokens that anyone can trade against.
Instead of waiting for a counterparty, you trade against a pool of tokens. Instead of market makers providing liquidity, regular users deposit tokens and earn fees in return. This is the foundation of DeFi trading.
How Liquidity Pools Work
The Constant Product Formula
Most liquidity pools (Uniswap, PancakeSwap, SushiSwap) use the constant product formula:
x × y = k
Where:
- x = amount of Token A in the pool
- y = amount of Token B in the pool
- k = a constant that never changes (except when liquidity is added/removed)
Example: A pool has 100 ETH and 300,000 USDC.
k = 100 × 300,000 = 30,000,000
You want to buy 1 ETH. The pool must maintain k = 30,000,000:
New ETH in pool: 99
New USDC needed: 30,000,000 / 99 = 303,030.30
USDC you pay: 303,030.30 - 300,000 = 3,030.30
Effective price: $3,030.30 per ETH (slightly above the $3,000 spot because of the AMM curve).
Why Prices Aren’t Exactly “Market Price”
AMM prices are determined by the ratio of tokens in the pool. When you buy ETH, you add USDC and remove ETH — changing the ratio and pushing the price up. The bigger your trade relative to the pool, the worse your price (more slippage).
This is why large pools with deep liquidity give better prices — your trade has less impact on the ratio.
Price Impact and Slippage
| Pool Size (each side) | Trade Size | Price Impact |
|---|---|---|
| $1,000,000 | $1,000 | 0.1% |
| $1,000,000 | $10,000 | 1.0% |
| $1,000,000 | $100,000 | 10.0% |
| $10,000,000 | $10,000 | 0.1% |
| $10,000,000 | $100,000 | 1.0% |
Rule of thumb: your trade should be less than 1% of the pool size for acceptable slippage.
Providing Liquidity
How to Become a Liquidity Provider (LP)
- Choose a pool (e.g., ETH/USDC on Uniswap)
- Deposit equal value of both tokens ($5,000 of ETH + $5,000 of USDC)
- Receive LP tokens — a receipt representing your share of the pool
- Earn trading fees — typically 0.3% of every swap, distributed to LPs proportionally
- When ready, withdraw — burn your LP tokens, receive your share of the pool (which may have changed ratio)
LP Tokens
When you deposit, the pool mints LP tokens representing your percentage ownership.
Example:
- Pool has $10M total liquidity
- You deposit $10,000 (0.1% of the pool)
- You receive LP tokens worth 0.1% of the pool
- Every trade charges 0.3%; your share of fees = 0.1% of 0.3% = 0.0003% of trade volume
If the pool does $5M daily volume:
Daily fees: $5,000,000 × 0.3% = $15,000
Your share: $15,000 × 0.1% = $15/day
Monthly: ~$450
Annual: ~$5,400 (54% APR on $10,000)
These numbers vary wildly based on volume, pool size, and competition from other LPs.
Impermanent Loss: The Full Math
Impermanent loss (IL) is the difference between holding tokens in a pool vs. simply holding them in your wallet. It occurs because the pool automatically rebalances as prices change.
The Formula
IL = 2 × √(price_ratio) / (1 + price_ratio) - 1
Where price_ratio = new_price / original_price
Impermanent Loss Table
| Price Change | Impermanent Loss |
|---|---|
| -50% (halved) | -5.72% |
| -25% | -1.39% |
| -10% | -0.22% |
| 0% (no change) | 0% |
| +10% | -0.21% |
| +25% | -1.21% |
| +50% | -2.02% |
| +100% (doubled) | -5.72% |
| +200% (tripled) | -13.40% |
| +400% (5x) | -25.46% |
Worked Example
You deposit $5,000 ETH ($3,000/ETH = 1.667 ETH) + $5,000 USDC into a pool.
Scenario: ETH doubles to $6,000
If you just held:
1.667 ETH × $6,000 = $10,000
5,000 USDC = $5,000
Total: $15,000
In the pool (constant product rebalancing):
Pool rebalances to maintain equal value
You now hold: 1.179 ETH + $7,071 USDC
Value: 1.179 × $6,000 + $7,071 = $14,142
Impermanent loss: $15,000 - $14,142 = $858 (5.72%)
You “lost” $858 compared to just holding. The word “impermanent” means this loss reverses if the price returns to your entry. If you withdraw while the price has diverged, the loss becomes permanent.
When Fees Offset IL
The key question: do earned fees exceed impermanent loss?
| Daily Volume / Pool Size | Approx. APR | IL Break-Even |
|---|---|---|
| 5% | ~5.5% | Covers IL for <15% price move |
| 10% | ~11% | Covers IL for <30% price move |
| 50% | ~55% | Covers IL for most moves |
| 100%+ | ~110%+ | Covers nearly all IL scenarios |
High-volume pools with active trading generate enough fees to more than compensate for IL. Low-volume pools don’t — you’d be better off just holding.
Concentrated Liquidity (Uniswap v3)
Traditional pools spread liquidity across the entire price range (0 to infinity). Most of this liquidity is never used — if ETH is at $3,000, liquidity at $100 or $50,000 isn’t doing anything.
Uniswap v3 introduced concentrated liquidity — you choose a specific price range to provide liquidity in.
How It Works
Instead of depositing across all prices:
Standard pool:
$0 ════════════════════════════════════ $∞
Your liquidity spread thinly everywhere
Concentrated:
$2,500 ═══════ $3,500
Your liquidity
(much more capital efficient)
Capital Efficiency
If ETH is at $3,000 and you concentrate liquidity between $2,500 and $3,500:
- Your capital is ~10x more effective than a full-range position
- You earn ~10x more fees per dollar deployed
- BUT: if price moves outside your range, you earn ZERO fees and experience maximum IL
The Tradeoff
| Approach | Fee Income | IL Risk | Maintenance |
|---|---|---|---|
| Full range | Low per dollar | Moderate | Set and forget |
| Narrow range | Very high per dollar | High (out of range risk) | Active management |
| Medium range | Good balance | Moderate-high | Occasional adjustment |
Concentrated liquidity is significantly more profitable when managed actively — but it’s a job, not passive income. Professional LPs use bots and algorithms to adjust ranges automatically.
Stable Pools
For pairs of similar assets (USDC/USDT, stETH/ETH, WBTC/BTC), specialized pools use different curves optimized for assets that should trade near 1:1.
Curve Finance pioneered this with the StableSwap curve:
- Much lower slippage for stablecoin swaps
- Impermanent loss is minimal (since prices stay close)
- Lower fees (0.04% vs. 0.3%) compensated by higher volume
- Ideal for conservative LPs wanting low-risk yield
Typical yields on stable pools:
| Pool | Platform | APR |
|---|---|---|
| USDC/USDT | Curve | 2–5% |
| stETH/ETH | Curve | 1–3% |
| DAI/USDC/USDT (3pool) | Curve | 2–4% |
| FRAX/USDC | Curve | 3–6% |
LP Risks Beyond Impermanent Loss
Smart Contract Risk
Your tokens are locked in a smart contract. If it has a bug or gets exploited, you can lose everything. Only use established, audited protocols.
Rug Pull Risk (Small Pools)
On permissionless DEXs, anyone can create a pool. The token creator can:
- Drain liquidity (if not locked)
- Mint unlimited tokens and dump on LPs
- Change contract permissions
Only provide liquidity for verified, established tokens.
Regulatory Risk
Providing liquidity may have tax implications (entering a pool could be a taxable event in some jurisdictions). Interest earned is usually taxable income.
Step-by-Step: Your First LP Position
On Uniswap (Ethereum / Arbitrum)
- Go to app.uniswap.org
- Connect your wallet (MetaMask, etc.)
- Click “Pool” → “New Position”
- Select token pair (e.g., ETH/USDC)
- Choose fee tier:
- 0.01% — stablecoin pairs
- 0.05% — correlated pairs
- 0.3% — standard pairs
- 1% — exotic pairs
- Set price range (or “Full Range” for simplicity)
- Enter deposit amounts
- Review and confirm
Start on Layer 2 (Arbitrum, Base) to avoid $50+ gas fees on Ethereum mainnet. L2 gas is typically $0.01–$0.10.
Key Takeaways
- Liquidity pools use the constant product formula (x×y=k) — your trade size relative to pool size determines slippage
- LPs earn trading fees proportional to their share of the pool, but face impermanent loss when prices diverge from entry
- High-volume pools can generate fees that far exceed impermanent loss; low-volume pools often don’t
- Concentrated liquidity (Uniswap v3) is more capital-efficient but requires active management
- Stable pools (Curve) offer lower but safer yields for pairs of similar-value assets
- Start with established pools on L2 networks, with amounts you’re comfortable losing to smart contract risk
FAQ
Q: Is providing liquidity profitable? A: It depends entirely on the pool. High-volume pools with moderate price movement can yield 10–50%+ APR. Low-volume pools with high volatility often lose money due to impermanent loss exceeding fees. Research the specific pool’s historical performance before depositing.
Q: What’s the difference between APR and APY in LP context? A: APR is the raw rate without compounding. APY includes the effect of reinvesting earnings. A 30% APR with daily compounding equals ~34.97% APY. Most pool interfaces show APR.
Q: Can I lose all my money in a liquidity pool? A: Through impermanent loss alone, no — IL caps at ~100% only if one token goes to zero. But through smart contract exploits, rug pulls, or a token losing all value, yes — you can lose everything.
Q: Should I LP with my entire crypto portfolio? A: No. Keep the majority in simple holdings (BTC, ETH). Allocate 10–20% to LP positions if you understand the risks. Diversify across multiple pools and protocols to reduce single-point-of-failure risk.