Blueshift uses portfolios instead of pairs to make a swap. Each portfolio defines virtual token pairs. A pair ties two tokens and defines their exchange price. Every pair works as a CFMM pool with virtual liquidity reserves. The amount of virtual reserves depends on existing tokens reserve in the portfolio and internal oracle token price history.
Every swap affects the prices of the tokens participated. Swap price is always less beneficial than current price. Price impact shows how much less tokens user will receive after swap than if he would swapped at the current price (without price impact).
The larger the swap amount, the greater the impact.
The larger tokens pair liquidity, the lower the impact.
If a trader swaps token A to token B and sees the price impact equals to 5%, it means that he will get 5% less amount of tokens than without price impact. In other words, the trader will acquire the token B at the new less beneficial price.
Usage of virtual pairs instead of real ones allows to use complete token liquidity in each virtual pair swap. It is much more efficient than to use partial liquidity dedicated for ordinary real pair swap. Here is an example:
Consider three ordinary real swap pairs [liquidity in brackets]:[1 000] BLUES <-> milkADA [4 000] [1 000] BLUES <-> USDT [5 000] [1 000] BLUES <-> ETH Now consider a portfolio with same total liquidity: BLUES [3 000], milkADA [4 000], USDT [5 000], ETH virtual pairs in this portfolio will be:[3 000] BLUES <-> milkADA [4 000] [3 000] BLUES <-> USDT [5 000] [3 000] BLUES <-> ETH As you see BLUES liquidity for each virtual swap pair is 3 times higher than the real one. The larger tokens pair liquidity, the lower the impact.
Virtual pairs helps to reduce price impact with the same amount of total liquidity.
Swaps are available between tokens that are a part of the same portfolio as well as between tokens that belong to different portfolios. Blueshift’s smart router defines the most price-efficient route for each swap. Swapping through a route that contains more than 2 tokens is called “multihop”. You can turn-off multihop swaps in transaction settings.