Skip to content
Technical Concepts

Price Impact

How much a trade moves the market price of an asset

Definition

Price impact is the price move your own trade causes by pushing an AMM's reserves along its pricing curve. It is a mechanical consequence of the formula, not a fee and not a delay: on a constant-product pool, taking tokens out of one side makes the remaining units mathematically more expensive, and the larger your trade relative to the reserves, the worse the average price you get. It differs from slippage, which is the gap between the price you were quoted and the price you executed at, and which includes other people's trades landing before yours. The shape of the curve is what decides the damage: Uniswap v2's x*y=k spreads liquidity from zero to infinity and produces large impact, while Curve's stableswap and Uniswap v3's concentrated liquidity pack reserves into a narrow band and make impact near-invisible until you exhaust that band.

Price impact is how much you move the price against yourself just by trading. Small trade in a deep pool, invisible. Large trade in a thin pool, you are effectively paying the whole pool for the privilege.

Example

Take a pool holding 1,000 ETH and 3,000,000 USDC, so the spot price is $3,000 and k = 3,000,000,000. Sell 10 ETH into it: reserves become 1,010 ETH and 3,000,000,000 / 1,010 = 2,970,297 USDC, so you receive 29,703 USDC. At spot you would have received 30,000, so you paid about 1% in price impact on top of the swap fee. Do the same 10 ETH trade in a pool ten times deeper and the impact drops to roughly 0.1%. That 1% did not evaporate: it left the pool mispriced, and an arbitrageur will collect most of it within the next block.

1

How it works

An AMM prices from reserves. Take tokens out of one side and the remaining units get more expensive along the curve, so your average execution price is worse than the spot price you saw. The deeper the pool relative to your size, the smaller the gap.

2

Why it matters

It is usually the largest single cost of a DeFi trade, several times the swap fee, and it is the reason a token can show a great price on a chart that you cannot actually sell into.

3

What to check

Before signing, read the price impact figure the interface shows, not just the fee. Above roughly 1% on a liquid pair, split the order or route elsewhere. Check pool depth against your trade size, and set a slippage tolerance tight enough to block a sandwich.

Risks to Consider

  • Impact grows non-linearly: doubling trade size more than doubles the cost, so one large swap is worse than several routed ones
  • A high impact quote is a standing invitation to a sandwich attack, since your own trade is already moving the price
  • Quoted impact is computed on current reserves; if the pool changes between quote and execution, the real number is worse
  • Traders routinely confuse a 0.3% fee with a 3% price impact and accept the trade anyway

Common Questions

What is the difference between price impact and slippage?

Price impact is caused by you, deterministically, by the size of your trade against the pool's reserves. Slippage is the difference between the quoted and executed price, caused by whatever happened between quote and execution: other trades, a price move, or a sandwich bot. You cannot set a tolerance on price impact, you can only trade smaller or find deeper liquidity. You can and should set a slippage tolerance.

How do I reduce price impact?

Route through an aggregator so the order is split across pools, because impact is convex and three partial fills cost less than one full fill in the deepest pool. Trade pegged assets on stableswap pools rather than constant-product ones. Break large orders into pieces over time, or use a TWAP or an intent-based venue such as CoW Swap where a solver can match you against other flow instead of the curve.

Is the price impact I pay recoverable?

No. It is a realised loss, and roughly half of it becomes profit for the arbitrageur who pushes the pool back to the market price. This is why 'the price recovered right after my swap' is normal rather than suspicious: your trade moved the pool away from the market and someone was paid to move it back.