This page provides a detailed explanation of what price impact is and where it comes from. To reach this understanding, a minimal understanding on the functioning of decentralized exchanges is advised. Check the resources provided in the QuickStart for more context:
The price impact is explained below, for more information on (positive) slippage check the fees page:
The bigger the trade is, the bigger the price impact can be. Good news, however: ParaSwap is made to keep price impact in check!
On the other hand, slippage refers to the difference between the expected amount and the received amount - it's due to competing transactions that pushed the price lower after the first transaction was submitted.
Exchanges on ParaSwap are made possible thanks to the liquidity deposited into the smart contracts (liquidity pools) of various decentralized exchanges like Uniswap or Curve. For each transaction, ParaSwap scans the available pools & if needed will mobilize several exchanges in one single trade.
The price impact of any given trade, as well as the minimum amount of destination token received, is displayed on the interface, right below the action button:
If a trade involves several pools, the minimum received represents the weighted average expected for the whole transaction.
The price impact is much more perceptible if we consider the two extreme of the liquidity spectrum: a transaction involving a highly liquid pair and another one with a less liquid token:
On such highly liquid pairs, only sizable trades incur a significant price impact:
Indeed, for this transaction, there is plenty of liquidity available to settle the trade, including several pools with $>100M of assets supplied: Uniswap, SushiSwap, Balancer, etc. The available liquidity is massive, enabling even sizable trades like the one in the middle (500 ETH) to settle with almost no price impact (0.01%).
However even in such a case, the limits of the available liquidity can be felt by increasing the size of the trade even further, as displayed with the third 12 000 ETH transaction incurring a >5% slippage.
Yet, when the liquidity available is more limited, the price impact can raise much faster even for smaller transactions.
Here, most of the liquidity available comes from one pool on Uniswap with about 1 100 ETH worth of total assets supplied at the time of writing & capture. The last trade displayed above would require more than a fourth of the total liquidity available, causing its price impact to raise dramatically (31%) despite ParaSwap splitting the trade to reduce it:
To explore further than the recap provided on the ParaSwap UI, you can easily check the key metrics of the pools available for your trade.
For instance, for the previously displayed ETH/DAI transaction, one of the most liquid pair is on SushiSwap with around 160 000 ETH worth in total of available liquidity.
It includes several neat charts to visualize the volume of transactions routed on the different decentralized exchanges and other key metrics:
To explore at the exchange-specific level, you can use the analytics tools provided by each service (or built by the community). Here are the links for the main DEXs: Uniswap, SushiSwap, Curve Finance, Bancor Network, Kyber Network.
ParaSwap checks all available liquidity pools on your behalf and the run the math to figure out the optimal path for your trades, accounting both for the price impact and the gas cost. One of the most meaningful way to reduce the price impact when possible is to split the transaction onto several pools. It's one of the solutions ParaSwap implements, detailed here: