In this article, we will cover:
What is Price Impact?
Price impact is the influence of user's individual trade over the market price of an underlying asset pair. It is directly correlated with the amount of liquidity in the pool / Automated Market Maker (AMM). Price impact can be especially high for illiquid markets/pairs, and may cause a trader to lose a significant portion of their funds.
Here is an extreme example of an illiquidity swap on 1inch that would have a negative price impact:
If the user in this example were to continue with the swap, they would be trading $164,308 worth of ETH for $68,661 worth of DIP. This is because there are not enough sellers of DIP at the current market price to fulfill an order of this size. Put figuratively, the one single large trade would make a big splash in the small pool.
Price impact can also be positive! If the pool is imbalanced in the opposite direction, your trade might take place at a discount relative to the pool. This is also known as an arbitrage opportunity.
What is the difference between Price Impact and Price Slippage?
Price impact and price slippage are very similar; however, there is a nuance.
Price slippage refers to the change in price caused by external broad market movements (unrelated to your trade), while price impact refers to the change in price directly caused by your own trade itself.
Like price impact, slippage is also highly dependent upon the liquidity in a pool. If the token pair as a low amount of liquidity, it takes smaller collective market movements to cause significant changes to the pool's rate.
Slippage can be positive as well. If the rate changes in a favorable direction, a surplus amount of tokens is returned for the swap. Currently, the surplus amount is retained by the third-party API providers, which manage the infrastructure behind the swap functionality, as a service fee. Read more.
How to minimize negative price impact
By design, the 1inch pathfinder algorithm will automatically split your trade amount between multiple liquidity sources. This ensures that you will have minimal negative price impact for your trade.
Please note: The 1inch router cannot optimize price impact for illiquid tokens with only one liquidity source.
To mitigate the price impact of a swap manually, you can reduce the amount swapped or wait for additional liquidity to enter the market. For many "less reputable projects" or scam tokens, this liquidity will never show up. Additionally, it is strongly recommended to verify that the amount of tokens in the "Receive" section matches the current market rate.
How to control slippage
1inch has a very effective tool for handling slippage. It is called the "slippage tolerance" feature, and allows users to set a desired percentage of tolerable slippage for their trade.
***By default, 1inch utilizes "auto-slippage", which detects the volatility of your token pair and adjusts the slippage tolerance accordingly.
This feature can be accessed within the Pro Swap settings.
If the returned token amount falls beyond the allotted slippage tolerance between the time of submission and the time of confirmation, the transactions will fail. While failed transactions cost gas fees, it prevents a further loss of funds do to the slippage.
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.
Too High:
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 frontrunner 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.
Too Low:
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 result in a loss of gas fees for 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 let us know in the live support chat!
