What the number actually does
The router computes a minimum-received amount from your quote and your tolerance, and writes it into the transaction. On execution the contract checks the real output against that floor. Above it, the swap completes at whatever the real price was — you are not charged the tolerance. Below it, the transaction reverts.
So tolerance never costs you money directly. It only decides whether a trade that moved against you still goes through.
Picking a value by pair, not by habit
Deep stablecoin pairs on a busy network move very little between quote and block; 0.1% to 0.3% is usually enough. Major pairs like ETH to USDC sit comfortably around 0.5%. A thin token with a few thousand dollars of liquidity can move several percent from your own trade alone, and will need more.
If a pair only executes at 5% or more, that is information. It means the pool is shallow relative to your size, and the honest response is usually a smaller trade rather than a bigger tolerance.
Why a high tolerance attracts sandwiches
A searcher watching the mempool can buy ahead of you, let your trade push the price up, then sell into it. Their profit is bounded by exactly one number: how much worse than quoted you said you would accept. A 10% tolerance on a thin pair is a public offer of up to 10% of your trade.
This is why "just raise slippage until it goes through" is bad advice. It converts a failed transaction into a successful but expensive one, and the cost is invisible because the swap appears to have worked.
Tax tokens and the tolerance trap
Some tokens take a percentage on every transfer. The pool maths is fine but the amount that arrives is short, so the contract sees an output below the floor and reverts. People then raise tolerance above the token tax to force it through — and permanently accept that tax as slippage.
If a token only swaps at 12% tolerance, the right question is what that 12% is paying for, not how to make the button work.