AMM Slippage and Order Routing
Trading against an automated market maker moves the price against you by an amount that grows faster than your order size, which is why large swaps get split across pools rather than routed through just one.
Prerequisites: Automated Market Makers
An automated market maker (AMM) prices trades using a formula against a pool of two assets, most commonly the constant-product rule : the product of the two reserve quantities never changes, only their mix does. That formula has a consequence traders feel immediately — the price you get worsens as your trade gets bigger, and it worsens faster than proportionally, because you're pushing the reserve ratio further from where it started with every additional unit you buy.
Slippage in an AMM is not a fee tacked on — it's a mechanical consequence of a fixed-shape pricing curve, which is why splitting a large order across several pools, or across several AMMs entirely, usually gets a better average price than dumping it all into one.
Worked example. A pool holds 100 ETH and 200,000 USDC (). A trader wants to buy ETH with 10,000 USDC. New USDC reserve: 210,000. New ETH reserve: . The trader receives ETH for 10,000 USDC, an average price of about $2,101 per ETH — noticeably worse than the pre-trade spot price of $2,000, purely from the size of the order relative to the pool.
This is exactly why order routing matters: a router splits that same 10,000 USDC order across several pools (or across AMMs and centralized exchanges) in proportions that equalize the marginal price across all of them, since dumping the whole amount into the single deepest pool available is rarely optimal once slippage curves this steeply. It's also why thin, low-liquidity pools are far riskier to trade in size than deep ones, even at identical quoted prices.
Further reading
- Uniswap v2/v3 whitepapers