How to Fix Price Impact Too High Uniswap (3 Solutions)

How to Fix Price Impact Too High Uniswap (3 Solutions)

DeFi
by Julian Lopez-Acosta
64
Good news: if you've ever encountered the error message price impact too high on Uniswap, you're either well off or swapping between an asset pair with low liquidity—the latter is a stark warning to be careful with your trade.
Uniswap angry at price impact warning

Either way, the price impact too high Uniswap error is a mechanism to protect small liquidity pools in DeFi. Without it, whales would have the capacity to manipulate prices at their leisure.

To fix the price impact too high Uniswap message, you can downgrade the Uniswap client to an older version, break down the transaction into portions, or change the price slippage tolerance.

All three options have pros and cons, so let’s look at each of these fixes. We found that breaking down your transaction into portions is the safest of the three.

What does price impact mean?

Price impact is the difference in a swap between the amount of your input token versus what you’ll receive from the output token when there isn’t enough liquidity in the pool.

It is the influence a single trade has on the market price of an underlying market pair.

Peek at the example below. Here I’m swapping one Ethereum (ETH) for Inverse DAO (INV), a token with $276,653 worth of liquidity.

As you can see, 1 ETH = 17.6129 INV at the current market price. I didn’t get the price impact too high Uniswap message because there’s enough liquidity in the INV pool to facilitate the swap.

Now let’s try to swap a ridiculous amount of ETH for INV.

Remember how I said INV’s liquidity pool sits at $276,653? I’m trying to swap around $659,155 worth of ETH for INV… there just isn’t enough liquidity in the INV pool to supply this trade. In fact, there would be -$382,502 liquidity in the INV pool if the price impact mechanism didn’t exist

Instead, I’ll only receive 2624.4 INV, which at the current market price is around $191,922. It’s a losing swap! I would lose $467,233 (or 70.13%) from swapping coins, which should always be a 1:1 swap.

How is impact price calculated?

To calculate price impact, you must first calculate the constant product, which determines the market pair’s pricing.

The constant product calculation is:

x * y = k

Where:

  • x = Pool balance of the first token
  • y = Pool balance of the second token
  • k = Total constant price of the pool

The value k is what keeps swaps between a pair equal—hence the name “constant product.” 

For example, imagine we’re forming a brand new ETH/INV pair.

In this pool, we’ll throw in:

  • 1,000 ETH
  • 10,000 INV
  • INV market price = 0.1 ETH

Therefore, k = 10,000,000.

Say we want to exchange 100 ETH for INV. You would add 100 ETH to the pool, then divide the increased ETH amount by the constant product. This would get you a new, lower INV amount in the pool as you’re adding ETH while subtracting INV.

  • 1,000 ETH + 100 ETH = 1,100 ETH
  • 10,000,000 (k) / 1,100 (ETH) = 9,090.91 INV

The updated pool total is:

  • 1,100 ETH
  • 9,090.91 INV

Now subtract the old INV amount from the new, and you’ll get how much INV you’ll receive for 100 ETH:

  • 10,000 INV – 9,090.91 INV = 909.09 INV

But how do you calculate price impact from here?

Uniswap price impact calculation

To calculate the price impact on Uniswap, follow this equation:

Price impact = 1 - (Market price / Price paid) 

Where:

  • INV market price = 0.1 ETH

Price paid is ETH’s original stake divided by the new pool total of INV. Therefore, price paid is:

  • 1,000 ETH / 9,090.91 INV = 0.11 

Therefore, the price impact in the scenario before would be:

  • 1 – (0.1 / 0.11) = 0.0909, or 9.09%

How do you fix price impact too high Uniswap?

Now that we know the definition of price impact and its respective calculations, we can get into the solutions. There are three methods to fix the price impact too high error message on Uniswap.

1. Downgrade the Uniswap client

By far the easiest fix, as the price impact too high message may be a byproduct of the upgraded client.

To access the V2 version of Uniswap, simply follow this link, or you can add:

?use=V2 

at the end of Uniswap app’s link.

You’ll notice the front end is exactly the same, but trust me: there are differences in the token pairs.

You can also navigate to this website to see all the V2 pools and tokens.

2. Break down the transaction into smaller portions

Since the price impact too high Uniswap error only appears when there is a single swap that could deplete the entirety of a token’s portion of a pool, breaking down your transactions into smaller parts is the safest approach.

This way, the price impact will be less (or non-existent) amongst several smaller transactions.

3. Increase the price slippage tolerance

Increasing the price slippage creates more flexibility in your swap, as broad market movements may drastically affect the price of the underlying market pair—especially if there’s low liquidity within a token pair.

To do this, click the gear beside ‘Swap’ and increase the slippage tolerance incrementally, until the error message is gone.

Don’t just increase slippage tolerance by 10%. This is a sure-fire way of losing money for a simple 1:1 swap.

What is slippage tolerance?

Slippage tolerance is the minimum amount of tokens you’re willing to accept from a pair due to market volatility. Price slippage or the change in a token’s price due to increases or decreases in market movements determines this.

By increasing your slippage tolerance, you’re increasing the percentage amount you’re willing to accept in losses from unfavorable price changes.

Is price impact the same as slippage?

Although quite similar, price impact is not the same as price slippage. Price impact depends on your trade, whereas price slippage relies on external market conditions.

Think of it like this: price slippage is affected by the collection of all market trades not made by you in a liquidity pool. Price impact, on the other hand, is only dependent on your swap.

Does slippage affect price?

Price slippage affects the price you purchase or sell a crypto-asset, especially when there’s low liquidity in a market pair.

Simply put, under the conditions of price slippage, a market order (purchase) will be executed at a different price than what you intended. This can be positive for you, as the price may be less than what you originally intended to buy the asset, or negative, where the asset is more expensive than your purchase intention.

What should slippage be on Uniswap?

When in doubt, select the ‘Auto’ feature for your slippage tolerance on Uniswap. It should already be set from the get-go, but if you’ve ever changed your slippage tolerance for swaps, you will have to reselect it.

I would recommend you stick to the Auto slippage tolerance on Uniswap. It typically hovers around 0.5%, but it does tend to change depending on the amount of liquidity in a pool and price volatility.

In the unlikely scenario you encounter the price impact too high Uniswap error message, manually inputting your slippage tolerance may resolve this issue. Though beware, you will probably lose money on your swap.

Summary

To fix the price impact too high Uniswap error message, you can either downgrade the client, increase the price slippage tolerance, or break down the transaction into smaller portions. I recommend you stick to the latter, as it’s the safest bet.

Increasing slippage tolerance may lead to an unfavorable swap, in which you lose money instead of keeping the same value across tokens.