Fees, slippage and MEV
The price you accept and the price you receive are different numbers, and the gap between them has three separate causes worth telling apart.
Press swap and several things happen that are not shown as a single price. Separating them is what stops a bad result from feeling like theft when it was a setting, and from feeling like a setting when it was theft.
The network fee
Every transaction pays the network for processing. On Ethereum the calculation is the amount of gas used multiplied by the base fee plus a priority fee. The base fee is set by the protocol from recent demand and is burned — nobody receives it. The priority fee is your tip to whoever includes your transaction, and it is how urgency gets expressed. You also set a maximum you are willing to pay in total, and anything above what was actually needed comes back.
The practical consequence: fees rise with congestion, not with the size of your trade. Moving a small amount at a busy moment can cost more in fees than the amount is worth, and no wallet setting changes that — only waiting does.
The fee is paid in the network's own coin
Tokens on a network cannot pay its fees. Holding a token with an empty balance of the native coin means you cannot move or sell it until you fund the address. This strands people regularly.
Price impact and slippage tolerance
These get conflated and they are different things.
Price impact is what your own trade does to the price. You are trading against a pool, and taking tokens out of it moves the ratio. A large trade against a small pool moves it a lot. This is predictable, shown before you confirm, and covered in reading a DEX pair page.
Slippage tolerance is a limit you set: the worst price you will still accept if conditions change between submitting and executing. Set it too tight and the transaction fails when the price moves normally — costing you the fee, since a failed transaction still executed. Set it too loose and you have authorised a much worse price than you expect.
MEV, and why a loose tolerance is expensive
Transactions are visible before they are final, and whoever assembles a block chooses what goes in and in what order. Value extracted from that power is called maximal extractable value, and the version that affects ordinary swaps is the sandwich.
The mechanism is simple. Somebody watching pending transactions sees your buy. They place their own buy immediately before yours, which pushes the price up. Yours executes at that raised price. They sell immediately after, into the price your trade created. Their profit came out of your execution, and every step was a valid transaction.
Your slippage tolerance is the ceiling on this. It defines the worst price you will accept, so it defines how much room there is to work with. A tolerance set at half your trade is an instruction that you will accept losing up to half, and that room is exactly what gets taken.
High slippage settings are a common piece of bad advice
"Set slippage to 30% or it won't go through" appears constantly around new tokens. Sometimes it reflects a genuinely volatile pool. Sometimes the transaction is failing because the contract blocks selling, and the advice exists to make you keep trying. Either way you are authorising the loss.
Approvals, which outlive the swap
Before a contract can move a token on your behalf you grant it an allowance, and this is a separate transaction from the swap itself. Many interfaces request an unlimited allowance by default, because it saves a fee on every later trade.
That permission does not expire when the swap finishes. It stays until revoked, and it is only as trustworthy as the contract holding it — including after an upgrade you never saw. Wallet drainers covers how these approvals are obtained deliberately, and how to review what you have granted.
What to check before confirming
- The amount you receive, not the rateWallets show an estimated output. That figure already includes price impact, which the exchange rate does not.
- The slippage setting, as a sum of moneyConvert the percentage into the amount you are agreeing to lose in the worst case. Percentages hide their own size.
- The fee against the tradeOn a small transfer at a busy time, this can be most of it.
- What the approval coversThe specific token, and whether the amount is limited to this trade or unlimited.
- The networkThe right token on the wrong network is a different token. Networks and addresses explains why.
Sources
Where the factual claims on this page come from. Each was read on the date shown.