🦄 Uniswap vs 🔵 Curve

The two dominant DEX designs in DeFi take fundamentally different approaches to automated market making. Uniswap's constant-product formula (x×y=k) is a general-purpose workhorse. Curve's StableSwap invariant is purpose-built for pegged assets. Here we visualize both curves, simulate price impact, and break down when each design wins.

📊 At a Glance

🦄 Uniswap V3
TVL$5.5B
Daily Volume$1.5B+
Chains12+
Fee Tiers0.01 / 0.05 / 0.3 / 1%
AMM Modelx×y=k (concentrated V3)
Gov TokenUNI
🔵 Curve V2
TVL$2.1B
Daily Volume$200M+
Chains14
Fee0.04% typical
AMM ModelStableSwap invariant
Gov TokenCRV / veCRV

📐 AMM Curve Comparison — Interactive

Two bonding curves overlaid. Drag the amplification slider to morph Curve's StableSwap from constant-product (A=1) toward constant-sum (high A). At A=1 both curves overlap; at A=200 Curve's line is nearly flat near the peg.

Uniswap (x×y=k) Curve StableSwap Constant Sum (x+y=D)

💥 Price Impact Simulator

Adjust the trade size relative to the pool, and toggle between volatile and stablecoin pairs. Curve's StableSwap dominates for pegged assets; Uniswap V3 concentrated liquidity is competitive for volatile pairs.

Uniswap Impact
0.50%
Curve Impact
0.02%
Savings on Curve
96%
Trade Size
$500K

🦄 How x×y = k Works

Uniswap's constant-product formula is elegantly simple. A pool holds reserves of two tokens (x and y). Their product must always equal a constant k:

x × y = k

When a trader swaps dx of token X into the pool, the new reserves become (x + dx) and y'. The invariant gives us:

(x + dx) × y' = k  →  y' = k / (x + dx)

The trader receives y − y' tokens. Because this is a hyperbola, larger trades move the price further along the curve, creating slippage proportional to trade size relative to reserves. A 1% pool trade yields roughly 1% price impact; 10% yields roughly 10%.

Uniswap V3: Concentrated Liquidity

V3 lets LPs concentrate their capital within specific price ranges. Instead of spreading liquidity from 0 to infinity, an LP providing liquidity between prices pa and pb acts like a much larger V2 position. This multiplies effective depth by up to 4000x for tight ranges, dramatically reducing price impact for trades within that range. The trade-off: if the price moves outside the LP's range, they earn zero fees and hold 100% of the depreciating asset.

🔵 How StableSwap Works

Curve's StableSwap invariant is a hybrid between constant-sum (x + y = D, zero slippage) and constant-product (x × y = (D/2)², Uniswap-like). The full invariant for n=2 tokens:

A · nn · ∑xi + D = A · nn · D + Dn+1 / (nn · ∏xi)

The amplification parameter A controls the blend:

  • A = 0: Behaves exactly like Uniswap's constant-product curve
  • A → ∞: Approaches constant-sum (x + y = D), meaning near-zero slippage
  • Typical A: 50–200 for stablecoin pools, creating a flat region near the peg where trades have minimal impact

This is why Curve dominates for stablecoin swaps. Near parity (USDC ≈ USDT ≈ 1.00), the curve is nearly flat — meaning massive trades create almost no slippage. But if the peg breaks, the curve steepens rapidly to protect LPs from total loss.

Why Not Use High-A for Everything?

A high amplification parameter assumes the assets should be priced equally. For volatile pairs like ETH/USDC, a high A would cause catastrophic losses during price movements. Curve V2 introduced a "crypto-pool" invariant that dynamically adjusts the concentration point, but Uniswap V3 concentrated liquidity remains more flexible for volatile pairs.

⚖️ When Each DEX Wins

Use Case
🦄 Uniswap
🔵 Curve
Stablecoin Swaps
Higher slippage
✓ Near-zero slippage
Long-Tail Assets
✓ Permissionless listing
Limited asset selection
Concentrated Liquidity
✓ Custom price ranges
Built-in for pegged assets
Governance Yield
Fee switch pending
✓ veCRV + bribes
Multi-Asset Pools
Pairs only
✓ Up to 8 tokens
NFT Positions
✓ Each LP is an NFT
Fungible LP tokens
Gas Efficiency
Moderate (V3 complex)
✓ Optimized for stables
LST/LSD Swaps
Possible with tight ranges
✓ stETH/ETH pools dominate

🏆 The Verdict

Choose Uniswap if:
  • You're trading volatile pairs (ETH/USDC, WBTC/ETH)
  • You want to LP with custom price ranges
  • You're listing or trading long-tail tokens
  • You want composable NFT LP positions
  • You need the deepest liquidity on the most chains
Choose Curve if:
  • You're swapping stablecoins (USDC ↔ USDT ↔ DAI)
  • You're trading liquid staking derivatives (stETH ↔ ETH)
  • You want governance yield via veCRV locking
  • You need multi-asset pool swaps
  • You're building on top of the Curve gauge/bribe ecosystem