Dynamic Slippage

Introducing Dynamic Slippage

Dynamic Slippage is an innovative and first in the world of DeFi trading, providing users a seamless experience while increasing transaction landing rate and reducing loss of user funds.

At Jupiter, our primary goal has always been to deliver the best user experience and the best price for every swap. As part of our continuous effort to achieve our goal, we are thrilled to formally introduce a feature that we have been researching, experimenting and refining across the past months. Dynamic Slippage features a real-time slippage optimization mechanism, ensuring users to trade with confidence and minimal friction.

Why Dynamic Slippage?

Slippage is an inherent part of trading on blockchains. It is the difference between the quoted amount (expected amount) of the swap and the actual amount a user receive when the trade is executed — due to price movements between the time of quote and execution.

\text{Slippage} = \text{QuotedAmount} - \text{ActualAmount}

Traditionally, managing slippage has been an extremely painful and complex task for users, requiring them to manually adjust settings based on the tokens they are trading. This is cumbersome and time-consuming, especially when dealing with volatile or less liquid tokens — slippage minimization is not a one-size-fits-all solution. A user trading between stable assets like LSTs and stablecoins should preferably not use the same slippage settings compared to trading memecoins.

With Dynamic Slippage, we provide the best of both worlds — a balance between protection while being agile in volatile markets. All through the fewest clicks possible, without the need to worry about configuring slippage settings for each trade.

What is Dynamic Slippage?

Dynamic Slippage is a real-time slippage optimization mechanism that considers several factors:

  • Type of Tokens: Different tokens have different volatility and liquidity profiles.
  • Quote: The amount, price and route provided before the trade.
  • User Max Slippage: The maximum percentage of slippage tolerance set by the user.

The Magic :sparkles:

You can choose to reduce your max slippage for more protection or leave as default and click swap.

Jupiter Frontend infers the token mints, amounts, and the provided quote. It also respects your configured maximum slippage. This information is then passed to the backend for simulation to generate a final optimized slippage to be used.

Jupiter Backend intelligently selects the best slippage using a set of heuristics that takes into account a simulated slippage based on current market conditions, the minimum and maximum slippage for the specific traded pair (such as stablecoins, LSTs, etc) and your maximum slippage. The heuristics ensures that the trade is optimized for success with the least amount of slippage.

\text{OptimizedSlippage} = \text{Heuristics(SimulatedSlippage, MinMaxSlippage, UserMaxSlippage)}

While the final slippage during execution may inevitably exceed the provided optimized slippage in some cases, our frontend is designed to keep you informed about the situation and guide you to better perform your next trade. For example, using the image below as reference, if you set your max slippage to 0.1% and the optimized slippage was 0.25%, our frontend will prompt you to try again to improve your experience. (We are still working on improvements on this, we would love your feedback!)

Conclusion

By optimizing slippage dynamically, Jupiter becomes a smoother, more efficient trading experience. Whether you are trading stable assets or diving into the volatile world of memecoins, Dynamic Slippage adapts to your needs, ensuring the best experience and price for every trade.

We would love to hear all of your feedback to continue to innovate and improve the Jupiter experience — making it simpler, faster and more reliable for everyone.

7 Likes

Well done team! Great new feature that will relieve some headaches. :pray:

1 Like

Tbh I’ve only used dynamic slippage a few times. But can rest assure the process was smooth!

3 Likes