SwappingBeginner

Slippage Explained: How to Avoid Losses on Swaps

Slippage vs price impact, how the constant-product curve moves prices, what tolerance to set for each pair and why a high tolerance invites sandwich bots.

ChainBridge ResearchUpdated 5 min read

On this page6 sections

Key takeaways

  • Slippage is how much the price moves between your quote and execution; price impact is the cost your own trade puts on the pool.
  • Your tolerance is a floor, not a fee: the swap reverts if you would receive less than the minimum shown.
  • Auto slippage on ChainBridge starts at 0.05% for stablecoins, 0.3% for major pairs and 1% for other tokens, plus half the price impact.
  • A high tolerance is what sandwich bots exploit; raise it only for the trade that needs it.

What is slippage?

Slippage is the difference between the price you are quoted and the price you actually get when the transaction lands on-chain. A swap is not executed when you click: it waits in the mempool until a block includes it, which takes about 12 seconds on Ethereum and a few hundred milliseconds to two seconds on most layer 2 networks. Other trades can execute first and move the price.

Say 1 ETH is quoted at 2,400 USDC. By the time your swap is mined, other buyers have pushed the pool to 2,395. You receive 5 USDC less than quoted: 0.2% of slippage.

Your slippage tolerance is the most movement you accept. It is written into the transaction as a minimum amount out. With a 0.5% tolerance on a 2,400 USDC quote, the contract reverts if you would receive less than 2,388 USDC. Slippage can also be positive: when the price moves in your favour, you keep the extra tokens. ChainBridge never captures positive slippage.

Slippage vs price impact

The two are often confused, but they have different causes and different fixes.

Slippage

  • Price movement between quote and execution
  • Caused by other trades landing first
  • Unpredictable, can be positive or negative
  • Bounded by your tolerance

Price impact

  • Cost of your own trade on the pool
  • Caused by the size of your order vs liquidity
  • Known in advance and already in the quote
  • Reduced by smaller trades or deeper liquidity

A $50,000 order with 2% price impact costs about $1,000 even if nobody else trades. Raising your tolerance does not change that: it only allows the price to move further before the swap reverts.

Why bigger trades move the price

Most pools price trades with the constant-product formula x × y = k, where x and y are the two token reserves. Every token you take out makes the next one more expensive, so price impact grows faster than trade size.

In a pool holding 1,000 ETH and 2,400,000 USDC, the spot price is 2,400. Buying 10 ETH costs about 24,242 USDC, an average of 2,424 per ETH: 1% of price impact. Buying 100 ETH costs about 266,667 USDC, or 11% above spot. Move the slider below to see the curve for your own trade size.

Pool depth (TVL)

Price impact

0.80%

~$159 on this trade

0%12.5%25%37.5%50%$100$1K$10K$100K$1M
Show data as a table
Price impact in a $5M pool
Trade sizePrice impact
$1K0.04%
$10K0.40%
$100K4.00%
$1M40.00%
Price impact of a single swap in a constant-product pool, by trade size relative to pool depth.

This is why aggregators split large orders across several pools: two trades of half the size, each in a pool of similar depth, cost far less than one trade in a single pool.

Choosing a tolerance

ChainBridge sets slippage automatically from the pair and the price impact of the quote. You can switch to a custom value in the swap settings at any time.

Auto slippage by pair type
PairAuto toleranceWhy
Stablecoin pair (USDC/USDT)0.05%Pegged assets barely move between quote and execution.
Major pair (ETH/USDC, WBTC/ETH)0.3%Deep liquidity, small moves within a block or two.
Other tokens1%Thinner pools and more volatile prices.
Any pair with price impact+ half the impactLarge trades get more room, capped at 3% in auto mode.

How ChainBridge limits slippage

Several aggregators, one quote. The router asks 0x, KyberSwap and ParaSwap in parallel. Each searches its own set of pools and market makers, and each splits large orders across pools to cut price impact. ChainBridge keeps the route that leaves you the most after fees and gas. Read smart order routing for the details.

Market-maker quotes. Through 0x, professional market makers can fill a trade at a fixed price instead of a pool curve. When that is the best offer, it wins the comparison like any other route.

Gasless orders. On supported networks, a gasless swap is a signed order that 0x's relayer submits for you, with the minimum amount out fixed in what you sign.

Clear worst case. The review screen shows the expected amount, the minimum received and the price impact, and the transaction is simulated before you sign. If it would revert, you are told before paying gas.

Common mistakes

Leaving a high tolerance on every trade

A 5% tolerance on a $10,000 swap tells the contract you accept receiving $500 less. Sandwich bots look for exactly that headroom. Keep auto mode, or set a custom value only for the trade that needs it.

Confusing slippage with price impact

Price impact is the cost of your own trade moving the pool and is already included in the quote. Raising slippage does not reduce it; a smaller trade or deeper liquidity does.

Setting the tolerance below a token transfer tax

Fee-on-transfer tokens take a cut on every transfer. If the tax is above your tolerance the swap reverts every time. ChainBridge flags sell taxes above 10% and blocks the swap.

Retrying a failing swap on mainnet with the same settings

A reverted transaction still costs gas. If a quote keeps failing, refresh it rather than resubmitting: the market moved and the old minimum is no longer reachable.

Swap with sized slippage

Auto slippage adapts to the pair and the trade size, and every quote shows the minimum you will receive.

Open the swap