launchkit

YOU'RE IN 🚀

What is Slippage Tolerance? The Safety Setting That Decides Whether Your Trade Completes or You Watch Opportunities Vanish
Web3 Glossary - Key Terms & Concepts
What is Slippage Tolerance? The Safety Setting That Decides Whether Your Trade Completes or You Watch Opportunities Vanish
Slippage tolerance is the maximum price change you'll accept before a DEX trade fails. Set it too low and transactions revert, too high and MEV bots sandwich you for profits. Most users stick with 0.5-1%, but volatile markets demand higher settings.

Your Uniswap transaction just failed for the third time. You're watching your opportunity evaporate while trying to figure out whether to change slippage tolerance from 0.5% to 1% or just crank it to 10%. Welcome to DEX trading.

Slippage tolerance is the maximum percentage of unfavorable price movement you'll accept between submitting a trade and its on-chain execution. When you swap on Uniswap, the transaction sits in the mempool for seconds to minutes before getting mined. Other trades can change the pool's price during that time. Your slippage tolerance tells the smart contract: "If the price moved against me by more than X%, cancel this trade." Set it to 0.5% on a $2,000 ETH swap, and if the price shifts so you'd get less than $1,990, the transaction reverts. Set it to 5%, and you'll complete even at $1,900—but MEV bots will sandwich attack you, extracting that $100 for themselves.

How slippage tolerance works in the smart contract

When you initiate a swap, you're providing multiple parameters including minimum amounts you'll accept. Slippage tolerance determines these boundaries.

You want to swap 1 ETH for USDC. Uniswap's interface queries the pool to estimate you'll receive roughly 2,000 USDC. You set slippage tolerance to 0.5%. The interface calculates: 2,000 USDC × (1 - 0.005) = 1,990 USDC minimum. Your transaction is submitted with the instruction: "Swap 1 ETH for USDC, but require at least 1,990 USDC output. If output would be less, revert."

When a miner includes your transaction, the smart contract executes based on current pool state. If other transactions executed before yours, the pool ratio has changed. The contract computes: with 1 ETH input, current output = 1,985 USDC. This is less than your 1,990 USDC minimum. The transaction reverts—you get your 1 ETH back but paid gas fees for a failed transaction.

Alternatively, if output was 1,992 USDC, the swap completes within your tolerance. Or if market moved in your favor and output is 2,015 USDC, you get the better price—slippage tolerance only sets a floor for buys or ceiling for sells.

Slippage vs. Price Impact: These are different concepts. Price impact is how much YOUR trade moves the pool price due to trade size relative to liquidity. Large trade in small pool = high price impact. Slippage is how much the price changes BETWEEN submission and execution due to OTHER trades. Small trade can have zero price impact but high slippage if market is volatile. Large trade has both.

The MEV sandwich attack problem

Here's where slippage tolerance gets weaponized. MEV bots monitor the mempool for pending DEX trades with high slippage tolerance. When they spot your trade, they execute a "sandwich attack" that extracts value up to your slippage limit.

You submit: swap 10 ETH for USDC with 3% slippage tolerance, expecting ~$20,000 USDC, accepting as low as $19,400. A MEV bot sees your pending transaction and submits two transactions with higher gas fees:

Transaction 1 (Front-run): Bot buys USDC from the pool using ETH, moving the price unfavorably for you.

Your Transaction (Middle): Executes at the worse price the bot created. Instead of 20,000 USDC, you get 19,500 USDC.

Transaction 3 (Back-run): Bot sells the USDC back. Because your large trade pushed price in the other direction, the bot exits at profit.

The bot extracted $500 from you. Your slippage tolerance was 3% ($600), so the transaction didn't revert. The bot calibrated their sandwich to extract maximum value while keeping you within tolerance. You paid for their profit.

Studies show roughly 5-10% of DEX trades get sandwiched, with MEV bots extracting tens of millions monthly. The attacks target transactions with high slippage tolerance and large trade sizes.

How to avoid sandwiches: (1) Use low slippage tolerance (0.5-1%). This limits bot profit potential. (2) Break large trades into smaller chunks. (3) Use private mempools or MEV-protection services like Flashbots Protect, CowSwap, or 1inch's partial fill feature. (4) Trade on L2s where MEV is less prevalent. (5) Use limit orders where available.

The dilemma: Set it too low, trades fail in volatile markets. Set it too high, you invite sandwich attacks. There's no perfect solution—just trade-offs based on market conditions, trade size, and MEV risk.

Optimal slippage settings for different scenarios

Stablecoins (USDC/USDT/DAI): 0.1-0.3% Stablecoin swaps should have minimal price movement since both assets target $1.00. If you need more than 0.3% slippage, either the pool has low liquidity or something is wrong. Using 0.1% protects you from subtle depeg risks and reduces sandwich attack surface.

Major pairs (ETH/USDC, WBTC/ETH): 0.5-1% Blue-chip pairs on liquid pools can execute with 0.5% tolerance in normal conditions. During high volatility, you might need 1-2%. If you're consistently needing above 2%, you're trading too large for the pool or market is extremely volatile.

Mid-cap altcoins: 1-3% Less liquid pairs require higher tolerance. A $10k trade in a smaller pool might need 2-3% tolerance just from your price impact, plus buffer for market movement. Higher tolerance means higher sandwich risk.

Low liquidity shitcoins: 3-10%+ Memecoins with tiny liquidity can have massive spreads. You might need 5-10% tolerance. At these levels, you're accepting getting rekt by price impact plus potential sandwiches. If you're setting 10%+ slippage, you're likely donating money to MEV bots.

Large trades: Lower tolerance + split orders If you're swapping $100k+, even 1% slippage is $1,000 lost. Use the lowest tolerance possible and split into multiple smaller trades. Or use aggregators and limit orders for better execution.

Common failure modes and fixes

Transaction reverts repeatedly: Price is moving faster than your transactions can process. Increase slippage to 3-5% temporarily, or wait for volatility to calm. Or use higher gas fees for faster inclusion.

Trade completes but you got wrecked: You received way less than expected. Your high slippage tolerance allowed this disaster. Lower slippage to 0.5-2%. Check transaction on Etherscan—did other transactions sandwich yours? If yes, use MEV protection services.

"Price impact too high" warning: This isn't slippage tolerance—it's your trade size relative to pool liquidity. Reduce trade size, find a more liquid pool, or use an aggregator that routes through multiple pools.

Stablecoin swaps failing at 0.1%: Check if one stablecoin is slightly depegged. Increase slippage to 0.3% to account for minor peg variance.

The honest assessment

Slippage tolerance encapsulates the trade-offs between decentralization and user experience. Centralized exchanges handle this invisibly. DEXs force users to understand transaction mechanics, mempool dynamics, and MEV attacks.

The default settings (0.5-1%) work fine for most conditions. Problems arise with volatile markets, low liquidity pairs, large trades, or network congestion. That's when users get frustrated, crank slippage to 10%, and get sandwiched.

The MEV problem turns slippage tolerance into a vulnerability. You're setting how much profit MEV bots can extract. High slippage = open invitation to sandwich attacks.

For most users: use 0.5% for stablecoins, 0.5-1% for major pairs, 1-3% for altcoins, never above 5% unless you understand the risks. If trades fail repeatedly with 1%, the problem is usually trade size, market volatility, or gas prices—not your slippage setting.

MEV-resistant designs like CowSwap's batch auctions and private mempools can reduce the need to micromanage slippage settings. But in 2025, understanding slippage tolerance remains mandatory for DEX traders. It's the pragmatic compromise that makes AMMs work—not beautiful, but functional if you know what you're doing.


Further Reading:

Related Terms