Back running is a form of Maximal Extractable Value (MEV) in decentralized finance in which a bot places a transaction immediately after a large trade to capture the price arbitrage that the large trade creates in an AMM pool. When a substantial trade occurs through an automated market maker, it shifts the pool's token price away from the prevailing market price on other venues. A back-running bot detects the large trade in the public mempool, submits its own transaction positioned to execute right after, and profits from the gap between the post-trade price in the AMM and the current market price elsewhere before arbitrageurs on other platforms can close the spread.
MEV extraction exists on a spectrum of harm to the original trader. Back running, in isolation, is the least harmful type. The back-runner's transaction is positioned after the victim's trade, meaning it does not affect the price at which the victim's trade executes. The victim receives the same outcome they would have received in the absence of the back-running transaction. The back-runner simply captures an arbitrage opportunity the victim left on the table.
Front running, by contrast, positions a transaction before the target trade, buying the same token the victim intends to buy, pushing the price up before the victim's order executes. The victim pays more than they would have in the absence of the front-runner.
The sandwich attack is the most harmful combination: a front-running buy executes before the victim, pushing the price up; the victim's trade executes at the inflated price; a back-running sell executes after, capturing the difference. The victim receives a worse price than they would have on a fair market. According to EigenPhi research, sandwich attacks extracted more than $900 million from DeFi users in 2023, averaging approximately $2.5 million per day.
| Protection | How It Works |
|---|---|
| Private mempools / MEV Blockers | Transactions are submitted directly to validators without appearing in the public mempool, preventing bots from detecting the trade before inclusion |
| Flashbots Protect RPC | Routes transactions through Flashbots' private relay, bypassing the public mempool |
| Large liquidity pools | Larger pools have more total reserves, so any given trade creates a smaller percentage price impact, reducing the arbitrage opportunity |
| Splitting trades | Dividing a large trade into multiple smaller transactions reduces the price impact of each individual order |