What is slippage?
Price slippage is the difference in prices between the time a market order is placed and the time it completes on the blockchain or is filled. Slippage can either be positive or negative, depending on the direction of price change.
What is slippage tolerance?
Slippage tolerance is a setting for the amount of price slippage you are willing to accept for a trade. By setting slippage tolerance, you basically setting a minimum amount on how many tokens you will accept, in the event that the price increases or decreases. Slippage tolerance is set as a percentage of the total swap value. For example, if you set slippage tolerance at 3%, it means that the amount of tokens you will receive can be no higher or lower than 3% of the amount entered.
***On 1inch, the default slippage will be automatic (based on the token pair's volatility profile). In addition, users can select from a few commonly used amounts, or enter in a custom slippage tolerance (max is 49%).
***For users' convenience, the 'slippage tolerance' indicator can be pinned to the swap page by clicking on the pin icon next to it in the settings.
What happens if I set the slippage tolerance too high or too low for a transaction?
There is often a "sweet spot" for setting the slippage tolerance. This ideal amount varies based on each individual token, transaction, and your personal risk tolerance.
When the slippage tolerance is set really high, it allows the transaction to still complete despite large price swings. This can open the door to front-running and sandwich attacks. A sandwich attack is a variation of front-running, where an attacker sees a pending transaction, then places a significantly larger transaction (with the same tokens) directly before and after the victim’s transaction. This drives the price of the victim’s transaction up, effectively allowing the front runner to extract the difference in value. Since the victim's slippage tolerance is so high, the attacker can extract that much value from the attack. This could easily be prevented by setting a lower slippage tolerance in combination with enabling the "partial fill" setting, or using the 'Flashbots' feature.
If the slippage tolerance is set too low, then the transaction can fail (revert) if the price moves beyond the % that was set. While a low tolerance can prevent front running, it can also cause a loss of gas fees to the failed transaction.
If you do incur a failed transaction due to a low slippage tolerance, it will show "Fail with error 'Min return not reached' when viewing the transaction on the block explorer:
Questions, comments, concerns? Feel free to reach out to us in the Live Chat!