Liquidity Pools Explained — How AMMs Work on Solana
Liquidity pools are the engine behind every DEX swap. Understand how they work, how to provide liquidity, and how to avoid the pitfalls.
In This Guide
- 1. What are Liquidity Pools?
- 2. How AMMs Price Tokens
- 3. Providing Liquidity Step by Step
- 4. Impermanent Loss in Plain English
- 5. Concentrated Liquidity
- 6. Choosing the Right Pool
💧 What are Liquidity Pools?
A liquidity pool is a smart contract that holds a reserve of two (or more) tokens, enabling decentralized trading without a traditional order book. When you swap tokens on a DEX like Jupiter, Raydium, or Orca, you're trading against the tokens in a liquidity pool — not with another person.
Liquidity providers (LPs) are users who deposit their tokens into these pools. In return, they earn a share of the trading fees generated every time someone swaps through the pool. It's a way to put idle tokens to work earning passive income.
Simple Analogy: Think of a liquidity pool as a currency exchange booth at an airport. The booth holds reserves of multiple currencies and charges a small fee for each exchange. Instead of one company owning the booth, anyone can contribute funds and earn a share of those fees. The price adjusts automatically based on supply and demand.
📐 How AMMs Price Tokens
Automated Market Makers (AMMs) use mathematical formulas instead of order books to determine token prices. The most common is the constant product formula: x × y = k, where x and y are the reserves of the two tokens and k is a constant.
How the Constant Product Formula Works
Starting state: A pool holds 1,000 SOL and 100,000 USDC. The constant k = 1,000 × 100,000 = 100,000,000. The implied price is 100 USDC per SOL.
Someone buys 10 SOL: The pool must maintain k = 100,000,000. With 990 SOL remaining, USDC must equal 100,000,000 ÷ 990 = 101,010.10 USDC. The buyer pays 1,010.10 USDC for 10 SOL (effective price: 101.01 per SOL).
Price impact: The larger the trade relative to pool size, the more the price moves. This is why deep liquidity (large pools) gives you better prices — your trade is a smaller percentage of the total reserves.
Standard AMM (x * y = k)
Used by classic Raydium pools. Liquidity is spread across all prices from 0 to infinity. Simple but capital-inefficient — most of the liquidity sits at prices far from the current price and is never used.
Concentrated Liquidity
Used by Orca Whirlpools and Raydium CLMM. LPs choose a specific price range to provide liquidity within. Much more capital-efficient but requires active management to stay in range.
💡 Pro Tip: The "price impact" shown before you swap tells you how much your trade will move the pool's price. Anything under 1% is generally acceptable. Above 3% means the pool is too small for your trade size — consider splitting into smaller swaps.
📝 Providing Liquidity Step by Step
Becoming a liquidity provider lets you earn trading fees on your idle tokens. Here's how to add liquidity to a pool on Solana using Raydium or Orca.
Choose Your Pool
Navigate to Raydium (raydium.io) or Orca (orca.so) and browse the available pools. Look at TVL, volume, and fee APR. Higher volume pools generate more fees but also tend to have more LPs competing for those fees.
Prepare Equal Value of Both Tokens
For standard pools, you need equal USD value of both tokens. For example, to LP in a SOL/USDC pool with $1,000, you'd need $500 worth of SOL and $500 USDC. The interface calculates the exact amounts when you enter one side.
Set Price Range (Concentrated Liquidity)
If using a concentrated liquidity pool (CLMM), set your min and max price range. A tighter range earns more fees when in range but goes out-of-range more easily. A wider range is safer but less capital-efficient.
Add Liquidity & Receive LP Tokens
Confirm the transaction to deposit your tokens. You'll receive LP tokens (or an NFT position for concentrated liquidity) representing your share of the pool. These tokens are needed to withdraw your liquidity later.
Monitor & Collect Fees
Fees accrue in real-time to your position. Some protocols auto-compound; others require manual claiming. Check your position regularly to ensure it's still in range (for concentrated liquidity) and that fee APR meets your expectations.
✅ Start Small: If it's your first time providing liquidity, start with a small amount in a stable pair (like USDC/USDT) to understand the mechanics without significant impermanent loss risk. Scale up once you're comfortable.
📉 Impermanent Loss in Plain English
Impermanent loss (IL) is the most important risk to understand before providing liquidity. It occurs when the price ratio of your deposited tokens changes compared to when you entered the pool.
A Simple Example
You deposit: 5 SOL ($500) + 500 USDC = $1,000 total in a SOL/USDC pool.
SOL doubles to $200: The pool automatically rebalances. You now have ~3.54 SOL ($707) + 707 USDC = $1,414 in the pool.
If you had just held: 5 SOL ($1,000) + 500 USDC = $1,500.
Impermanent loss: $1,500 - $1,414 = $86 (5.7%). You're better off than your $1,000 starting value, but worse off than simply holding. The pool sold some of your SOL as the price rose.
Impermanent Loss by Price Change
⚠️ Key Insight: The loss is "impermanent" because it reverses if the price returns to your entry ratio. However, if you withdraw while prices have diverged, the loss becomes permanent. The question is always: do the trading fees you earn exceed the impermanent loss?
🎯 Concentrated Liquidity
Concentrated liquidity (CL) is the evolution of standard AMMs. Instead of spreading your liquidity across all prices from zero to infinity, you choose a specific price range where your capital is active. This is available on Orca Whirlpools and Raydium CLMM.
✅ Advantages
❌ Drawbacks
Range Strategy Examples
💡 Pro Tip: For stablecoin pairs (USDC/USDT), use a very tight range (±0.1-0.5%) since these pairs rarely deviate. You'll earn the highest possible fee APR with minimal impermanent loss risk. This is one of the safest LP strategies in DeFi.
🎯 Choosing the Right Pool
Not all pools are created equal. The best pool for you depends on your risk tolerance, time commitment, and capital. Here are the key factors to evaluate.
📊 Volume-to-TVL Ratio
Most ImportantA pool's fee APR depends on how much trading volume flows through it relative to its size. A $1M pool doing $500K daily volume generates far more fees per LP dollar than a $10M pool doing the same volume. Look for pools where daily volume is at least 10-20% of TVL.
💰 Fee Tier
Pools have different fee tiers (0.01%, 0.05%, 0.25%, 1%). Higher fee tiers earn more per swap but attract less volume. Stable pairs work best at low fees; volatile pairs work at higher fees. Match the fee tier to the token's volatility.
⚡ Token Quality
Only provide liquidity for tokens you'd be comfortable holding. Remember, the pool may rebalance your position entirely into the weaker token if it drops in price. LP-ing a SOL/scamcoin pair means you could end up holding 100% scamcoin.
🔒 Protocol Reputation
Stick with established DEXs (Raydium, Orca, Meteora) that have been audited and battle-tested. Newer, unaudited DEXs may offer higher APRs but carry smart contract risk that could result in total loss of your deposited funds.
Pool Risk Spectrum
💡 Pro Tip: Don't chase the highest APR. Extremely high APRs usually mean either the token is dropping fast (creating IL) or there's low TVL that will normalize as more LPs enter. Sustainable APRs in the 15-50% range on quality pairs are far more profitable long-term than 1,000% APR on tokens that go to zero.
Trade Smarter with Wallet Bot
Wallet Bot helps you find the best pools, track your LP positions, and automate your DeFi strategies on Solana.
Launch Wallet Bot