Liquidity Pools Explained: What Happens When You 'Provide Liquidity'

"200% APY! Just provide liquidity to our ETH/USDC pool!"

Sounds amazing. But what does "providing liquidity" actually mean?

You're about to:

  • Deposit two tokens you own
  • Receive a weird "LP token" you've never heard of
  • Somehow earn fees from other people's trades
  • Hope you end up with more money than you started with

And there's this thing called "impermanent loss" that everyone warns about but no one explains clearly.

This is your guide to liquidity pools (LPs): how they work, how you make money, what the risks are, and β€” critically β€” how they're taxed.

The Problem LPs Solve: How Do DEXs Work Without Order Books?

Traditional Exchanges (Centralized)

On Coinbase or Kraken:

  • Order book model: Buyers and sellers post limit orders
  • Matching engine: Exchange matches buy orders with sell orders
  • Centralized: The exchange controls everything

Example:

Buy Orders:
- Buy 1 ETH @ $1,990
- Buy 1 ETH @ $1,985
- Buy 1 ETH @ $1,980

Sell Orders:
- Sell 1 ETH @ $2,010
- Sell 1 ETH @ $2,015
- Sell 1 ETH @ $2,020

Spread: $20 ($2,010 - $1,990)

When someone market-buys ETH, they get matched with the lowest sell order.

This requires:

  • Centralized matching engine
  • Custody of user funds
  • Market makers to provide liquidity

Decentralized Exchanges (Uniswap, Curve, etc.)

Problem: No centralized matching engine. No custody. Who provides liquidity?

Solution: Liquidity pools.

Instead of order books, DEXs use pools of tokens that anyone can trade against.

How Liquidity Pools Work (The AMM Model)

AMM = Automated Market Maker

The Basic Concept

Imagine a pool with two tokens:

  • 1,000 ETH
  • 2,000,000 USDC

Total value: 1,000 ETH Γ— $2,000 = $2,000,000 + $2,000,000 USDC = $4 million

Anyone can trade against this pool:

  • Want to buy ETH? β†’ Send USDC to pool, receive ETH
  • Want to buy USDC? β†’ Send ETH to pool, receive USDC

The pool automatically prices trades using a formula.

The Constant Product Formula (x Γ— y = k)

Uniswap uses this simple rule:

ETH amount Γ— USDC amount = constant (k)

Before trade:

1,000 ETH Γ— 2,000,000 USDC = 2,000,000,000 (k)

Someone buys 10 ETH:

How much USDC do they pay?

New ETH balance: 1,000 - 10 = 990 ETH

To keep k constant:
990 Γ— new USDC balance = 2,000,000,000
new USDC balance = 2,020,202 USDC

USDC paid: 2,020,202 - 2,000,000 = 20,202 USDC

Effective price: 20,202 / 10 = $2,020 per ETH

After trade:

990 ETH Γ— 2,020,202 USDC = 2,000,000,000 (k still constant)

[Visual suggestion: Diagram showing pool before/after trade with formula]

Price Impact

Notice the buyer paid $2,020 per ETH, but the pool started at $2,000 per ETH.

That $20 difference is "price impact" (or "slippage").

The bigger the trade relative to pool size, the worse the price:

Trade Size USDC Paid Effective Price Price Impact
1 ETH 2,002 $2,002 0.1%
10 ETH 20,202 $2,020 1.0%
100 ETH 222,222 $2,222 11.1%

This is why larger pools are better β€” less price impact for traders.

Becoming a Liquidity Provider (LP)

Now that you understand how pools work, here's how you can provide liquidity and earn fees.

Step 1: Deposit Two Tokens

To provide liquidity to ETH/USDC pool:

You must deposit both tokens in equal value.

Example:

  • Pool ratio: 1 ETH = 2,000 USDC
  • You deposit: 1 ETH + 2,000 USDC (equal value: $4,000 total)

You can't just deposit ETH. You can't just deposit USDC. Must be both, in equal value.

Step 2: Receive LP Tokens

The pool contract mints LP tokens (liquidity provider tokens) as a receipt.

Think of LP tokens as:

  • A receipt proving you deposited
  • A claim on a % of the pool
  • A new asset you now own

Example:

Before your deposit:
- Pool: 1,000 ETH + 2,000,000 USDC
- Total LP tokens: 1,000,000

You deposit:
- 1 ETH + 2,000 USDC (0.1% of pool)

You receive:
- 1,000 LP tokens (0.1% of total supply)

Your LP tokens represent 0.1% ownership of the pool.

Step 3: Earn Trading Fees

Every trade pays a fee (typically 0.3% on Uniswap, varies by protocol).

Example:

  • Trader swaps 10,000 USDC for ETH
  • Fee: 0.3% Γ— 10,000 = 30 USDC
  • This 30 USDC is added to the pool
  • Pool now has: 1,000 ETH + 2,000,030 USDC

All LP token holders benefit proportionally.

You own 0.1% of the pool, so you earned:

0.1% Γ— 30 USDC = 0.03 USDC

Doesn't sound like much, but:

  • High-volume pools generate millions in fees daily
  • Fees compound 24/7
  • APYs can range from 5% to 200%+

Step 4: Withdraw Liquidity

When you want to exit:

Burn your LP tokens β†’ receive your share of the pool.

Example:

Time has passed. Pool is now:
- 1,005 ETH + 2,010,000 USDC (fees accumulated)

You burn your 1,000 LP tokens (still 0.1% of supply)

You receive:
- 1.005 ETH (0.1% of 1,005)
- 2,010 USDC (0.1% of 2,010,000)

You deposited: 1 ETH + 2,000 USDC
You withdrew: 1.005 ETH + 2,010 USDC

Gain: 0.005 ETH + 10 USDC β‰ˆ $20 in fees (example values)

That's your profit from trading fees.

The Big Risk: Impermanent Loss

Here's the catch: Your LP position can lose value even if the pool earns fees.

What Is Impermanent Loss?

Impermanent loss happens when the price ratio of your deposited tokens changes.

Example: ETH Price Goes Up

You deposit:

  • 1 ETH @ $2,000
  • 2,000 USDC
  • Total value: $4,000

ETH price doubles to $4,000:

If you had just held:

  • 1 ETH = $4,000
  • 2,000 USDC = $2,000
  • Total: $6,000

But in the LP:

Remember: x Γ— y = k

Pool rebalances automatically as traders arbitrage:

Original: 1,000 ETH Γ— 2,000,000 USDC = 2,000,000,000

After ETH doubles, arbitrage traders buy ETH from pool until price matches external markets.

New pool state (simplified):
707 ETH Γ— 2,828,000 USDC = 2,000,000,000

Your 0.1% share:
- 0.707 ETH Γ— $4,000 = $2,828
- 2,828 USDC = $2,828
- Total: $5,656

If you held: $6,000
LP value: $5,656

Impermanent loss: $344 (5.7%)

[Visual suggestion: Graph showing impermanent loss at different price changes]

Why "Impermanent"?

It's called "impermanent" because:

  • If the price returns to the original ratio, the loss disappears
  • Only becomes permanent if you withdraw at a different ratio

Impermanent Loss Table

Price Change Impermanent Loss
1.25x -0.6%
1.5x -2.0%
2x -5.7%
3x -13.4%
4x -20.0%
5x -25.5%

The more volatile the pair, the higher the impermanent loss risk.

Mitigating Impermanent Loss

1. Choose stable pairs:

  • USDC/USDT (both stablecoins, no impermanent loss)
  • ETH/WETH (same asset, no impermanent loss)
  • stETH/ETH (very similar assets, minimal IL)

2. Bet on trading volume:

  • If fees earned > impermanent loss, you still profit
  • High-volume pools (ETH/USDC on Uniswap) can earn 50%+ APY

3. Concentrated liquidity (Uniswap V3):

  • Provide liquidity in a narrow price range
  • Earn higher fees per dollar
  • But also higher impermanent loss if price moves out of range

Real Example: Uniswap V3 ETH/USDC LP

Pool: ETH/USDC 0.05% fee tier

You decide to provide:

  • 10 ETH @ $2,000 = $20,000
  • 20,000 USDC
  • Total: $40,000

Choose price range: $1,800 - $2,200 (concentrated liquidity)

Result over 3 months:

Scenario 1: ETH stays $1,900-$2,100

  • Fees earned: $1,200 (10% APY annualized)
  • Impermanent loss: -$50
  • Net: +$1,150 βœ…

Scenario 2: ETH pumps to $3,000

  • Price exits your range
  • Fees earned while in range: $800
  • Impermanent loss: -$2,400
  • Net: -$1,600 ❌

Scenario 3: ETH crashes to $1,200

  • Price exits your range
  • Fees earned while in range: $500
  • Impermanent loss: -$3,000
  • Net: -$2,500 ❌

Key insight: LPs perform best in sideways/ranging markets. Not during strong trends.

The Tax Nightmare: How Are LPs Taxed?

LP taxation is one of the most complex areas of crypto tax.

The IRS hasn't given clear guidance, so tax professionals disagree.

The Deposit (Potentially Taxable)

What happens:

  • You send 1 ETH + 2,000 USDC to the pool contract
  • You receive LP tokens

Conservative tax treatment:

  • Disposing of ETH: Taxable sale
  • Disposing of USDC: Taxable sale
  • Acquiring LP token: New asset with cost basis = market value at receipt

Example:

You bought 1 ETH for $1,500 (cost basis)
ETH is now $2,000
You deposit 1 ETH + 2,000 USDC to LP

Taxable events:
1. Disposed 1 ETH (basis $1,500, value $2,000)
   β†’ Capital gain: $500

2. Disposed 2,000 USDC (assuming basis $2,000)
   β†’ No gain

3. Acquired LP token (new basis: $4,000)

Aggressive tax treatment:

  • Defer taxation until you withdraw
  • LP deposit = like-kind exchange (not taxable)

Problem: IRS hasn't clarified. Consult a crypto tax CPA.

Earning Fees (Income or Deferred?)

What happens:

  • Pool earns fees 24/7
  • Fees automatically compound into the pool
  • You don't "receive" them until you withdraw

Tax treatment options:

Option 1 (Conservative):

  • Fees = income as earned
  • Must calculate daily (nightmare)

Option 2 (Aggressive):

  • Defer until withdrawal
  • Only recognize when you actually receive tokens

Most tax pros use Option 2 (deferred until withdrawal).

The Withdrawal (Definitely Taxable)

What happens:

  • Burn LP tokens
  • Receive ETH + USDC

Tax treatment:

  • Disposing of LP token: Taxable event
  • Calculate gain/loss on LP token itself

Example:

Deposited: 1 ETH + 2,000 USDC β†’ LP token basis $4,000

3 months later, burn LP token

Received:
- 1.05 ETH @ $2,100 = $2,205
- 2,100 USDC = $2,100
- Total: $4,305

LP token gain: $4,305 - $4,000 = $305 capital gain

Then, your new cost basis:

  • 1.05 ETH (basis: $2,205)
  • 2,100 USDC (basis: $2,100)

Alternative Treatment: "Two-Asset" Method

Some tax pros treat LP positions as if you continuously hold the two underlying assets:

  • No taxable event on deposit
  • Fees = income
  • Impermanent loss = capital loss

This is even more complex and requires custom tracking.

Moonscape's Approach

We flag LP deposits/withdrawals for review:

⚠️ Liquidity Pool Deposit Detected
You deposited 1 ETH + 2,000 USDC to Uniswap V3 Pool

Tax treatment is complex. Options:

  • [Conservative] Treat as taxable disposal (recognize $500 gain now)
  • [Aggressive] Defer until withdrawal

Recommendation: Consult your tax professional.

[Review Transaction] [Choose Treatment]

We support both methods:

  1. Conservative (disposition on deposit)
  2. Deferred (only tax on withdrawal)

You choose based on your tax professional's advice.

Popular Liquidity Pool Protocols

Uniswap V3 (Concentrated Liquidity)

How it works:

  • Choose a price range
  • Earn higher fees within that range
  • Lose fees if price exits range

Best for:

  • Active management
  • Narrow range = higher fees
  • Traders who can monitor positions

Tax complexity: High (must track range, rebalancing)


Curve (Stablecoin Specialist)

How it works:

  • Optimized for low-slippage stablecoin swaps
  • Uses custom bonding curve (not constant product)

Best for:

  • Stablecoin LPs (USDC/USDT/DAI)
  • Minimal impermanent loss
  • Lower APYs but safer

Tax complexity: Medium


Balancer (Weighted Pools)

How it works:

  • Pools with more than 2 tokens
  • Custom weights (e.g., 80% ETH / 20% USDC)

Best for:

  • Multi-token exposure
  • Weighted strategies
  • Reduced impermanent loss on unbalanced pools

Tax complexity: Very high (multiple assets)


Aerodrome / Velodrome (ve(3,3) Model)

How it works:

  • Vote-escrowed tokenomics
  • LPs earn trading fees + AERO/VELO rewards
  • Voters direct emissions to pools

Best for:

  • High yields (100-300% APY on incentivized pairs)
  • Complex but lucrative

Tax complexity: Extreme (fees + rewards + voting tokens)

Should You Provide Liquidity?

βœ… Good Reasons to LP

  • Earn passive income: High-volume pools earn consistent fees
  • Sideways markets: If you think ETH will trade in a range, LP can outperform holding
  • Stablecoin pairs: USDC/USDT has no impermanent loss, safe yields

⚠️ Reasons to Avoid

  • Bullish on one asset: If you think ETH will moon, just hold ETH (don't LP it)
  • High volatility: Impermanent loss can wipe out fee earnings
  • Tax complexity: LP positions create messy tax situations
  • Requires monitoring: Especially Uniswap V3 β€” price can exit your range

The Math: When Do You Profit?

You profit when:

Fees earned > Impermanent loss

Example:

  • Impermanent loss: -5% ($200)
  • Fees earned: +8% APY over 3 months = +2% ($80)
  • Net: -3% (loss)

Better example:

  • Impermanent loss: -2% (price stable)
  • Fees earned: +15% APY over 3 months = +3.75% ($150)
  • Net: +1.75% (profit)

High volume pools and stable price ratios = best LP opportunities.

How Moonscape Handles LPs

Auto-Detection

We recognize LP deposits across major protocols:

Instead of:

Sent 1 ETH to 0x8ad599c3A0ff1De082011EFDDc58f1908eb6e6D8
Sent 2,000 USDC to 0x8ad599c3A0ff1De082011EFDDc58f1908eb6e6D8
Received 0.1 LP-ETHUSDC from 0x8ad599...

You see:

Provided liquidity: 1 ETH + 2,000 USDC to Uniswap V3 ETH/USDC Pool
Received: 0.1 LP tokens

Auto-labeled. Linked transactions.

LP Dashboard

Track your LP positions:

Protocol Pool Deposited Current Value Fees Earned IL
Uniswap V3 ETH/USDC $40,000 $41,200 +$1,500 -$300
Curve USDC/USDT $10,000 $10,150 +$150 $0

See performance at a glance.

Tax Treatment Options

Choose your preferred method:

  • Conservative: Tax on deposit/withdrawal
  • Deferred: Tax only on withdrawal
  • Custom: Consult tax pro, we'll implement

We support all approaches.

The Bottom Line

Liquidity provision:

  • Earn fees: From every trade in the pool
  • Face impermanent loss: If price ratio changes
  • Complex tax treatment: IRS hasn't given clear guidance

Best for:

  • Sophisticated DeFi users
  • Those who can monitor positions
  • Sideways/ranging markets
  • Stablecoin pairs (low IL risk)

Avoid if:

  • You're bullish on one asset (just hold it)
  • You can't handle tax complexity
  • You want set-and-forget investing

Most importantly: Track everything for taxes. LP positions are one of the hardest DeFi activities to report correctly.


Track Your LP Positions

Moonscape detects liquidity pool deposits/withdrawals and:

βœ… Auto-labels LP transactions
βœ… Tracks LP token cost basis
βœ… Flags for tax treatment review
βœ… Supports conservative and deferred methods
βœ… Links deposits β†’ withdrawals

Try Moonscape β†’

Built for people who'd rather track than guess.
Moonscape β€” your crypto, your taxes, fully decoded.

Follow us on X (@MoonscapeHQ)


Related Reading


Tags: #LiquidityPools #Uniswap #DeFi #ImpermanentLoss #CryptoTax #AMM