Understanding Slippage

Slippage and MEV

Setting a low slippage tolerance is the simplest defense against toxic-MEV. Since searchers exploit slippage for price manipulation, transactions with lower slippage tolerance could provide less opportunity for toxic-MEV exploitation from trades.

Additionally, slippage modeling generally incorporates statistics into a smart order routing algorithm to deliver the optimal trade route.

Nevertheless, these solutions are incomplete. Even with optimal slippage, MEV bots may still derive value from your trades.


On Solana

In Solana's Token Swap Program, a generic swap involves the input amount_in, which represents the amount of token the user wants to trade, and minimum_amount_out, which denotes the minimum amount of output tokens necessary to avoid excessive slippage:

/// Swap instruction data
pub struct Swap {
    /// SOURCE amount to transfer, output to DESTINATION is based on the exchange rate
    pub amount_in: u64,
    /// Minimum amount of DESTINATION token to output, prevents excessive slippage
    pub minimum_amount_out: u64,
}

The minimum amount of output tokens is connected to the actual number of output tokens by the slippage, ensuring that:

min(NoutA)=NoutASA×NoutA\min(N_{out}^A) = N_{out}^A - S^A \times N_{out}^A

The slippage can be derived as follows:

SA=NoutAmin(NoutA)NoutA%S^A = \frac{N_{out}^A - \min(N_{out}^A)}{N_{out}^A} \%

Last updated