  Predatory trading bots lurking in Ethereum's mempool present invisible
taxation of traders on automated market makers (AMMs). AMM traders specify a
slippage tolerance to indicate the maximum price movement they are willing to
accept. This way, traders avoid automatic transaction failure in case of small
price movements before their trade request executes. However, while a too-small
slippage tolerance may lead to trade failures, a too-large slippage tolerance
allows predatory trading bots to profit from sandwich attacks. These bots can
extract the difference between the slippage tolerance and the actual price
movement as profit.
  In this work, we introduce the sandwich game to analyze sandwich attacks
analytically from both the attacker and victim perspectives. Moreover, we
provide a simple and highly effective algorithm that traders can use to set the
slippage tolerance. We unveil that most broadcasted transactions can avoid
sandwich attacks while simultaneously only experiencing a low risk of
transaction failure. Thereby, we demonstrate that a constant auto-slippage
cannot adjust to varying trade sizes and pool characteristics. Our algorithm
outperforms the constant auto-slippage suggested by the biggest AMM, Uniswap,
in all performed tests. Specifically, our algorithm repeatedly demonstrates a
cost reduction exceeding a factor of 100.
