Sandwich MEV, and when protection is worth paying for

A sandwich attack buys ahead of your trade, lets your trade push the price, then sells into the move you created. On Solana the attack is real but its economics are specific: it needs a trade large enough relative to pool depth to be worth the effort. Knowing when that applies to you decides whether bundle routing is a necessity or a tip you did not need to pay.

Volion Research Updated Jul 30, 2026 4 sections

How a sandwich attack works

A searcher observes a pending swap, places a buy immediately before it, allows your swap to execute at the now-worse price, then sells immediately after into the price bump your trade created. The profit comes from the price movement your own order caused. You receive fewer tokens than you should have, and the difference goes to the attacker rather than into your chart.

Three conditions have to hold for it to work. The attacker must see your order before it executes, must be able to place transactions on both sides of it, and must expect your trade to move price enough to cover their own fees and risk. Remove any one and the attack does not happen.

The third condition is the one that matters most for volume campaigns and the one marketing copy tends to skip. A 0.1 SOL swap on a reasonably deep pool moves price by an amount too small to profit from after fees. The attack is economically rational against large trades on thin liquidity, which is a real scenario but not every scenario.

What makes Solana different

Solana has no public mempool in the Ethereum sense, so transactions are not broadcast to a global waiting area where anyone can inspect them. They are forwarded to the current leader. This narrows the observation window but does not close it, because parties with privileged forwarding positions or fast infrastructure can still see and react to orders before they execute.

The practical effect is that sandwiching on Solana requires better positioning than on chains with an open mempool, which reduces the number of parties able to do it without eliminating them. Slot times of roughly 400 milliseconds also compress the reaction window, which cuts both ways: less time to attack, less time to defend.

What follows is that Solana MEV risk is lower per trade than on some other chains and non-zero, and that it concentrates where the payoff is largest. Thin new pools with large incoming orders are where attention goes. Fleets of small trades on established pairs are a poor target.

What bundle routing protects, and what it does not

Routing through Jito bundles makes your transactions atomic and ordered, so nothing can be inserted between them. That closes the gap a sandwich requires. It does not hide the transactions, does not protect against price impact you caused yourself, and does not eliminate failure: a bundle that loses its auction lands nothing at all.

Three distinctions worth keeping separate, because they are routinely blurred:

  • Interception versus observation. Bundling prevents insertion between your transactions. It does not make them invisible; everything remains on chain and attributable. Fleet identification is a separate matter, covered in clustering risk.
  • Attack versus self-inflicted impact. If your own sequence of buys walks the price up a thin curve, that is price impact, not MEV. No routing fixes it, because nobody is extracting anything; the cost is structural to trading against shallow liquidity.
  • Protection versus reliability. For campaigns of many small trades, the tip mostly buys ordering reliability rather than meaningful MEV protection. That can still be worth paying for, but it should be bought knowingly.

Tip mechanics and bundle economics are in Jito tips explained.

Deciding whether to pay for it

Compare your typical trade size against pool depth. If a single trade moves price by an amount an attacker could profitably capture after their own fees, route through bundles. If your trades are small relative to liquidity, the sandwich risk per trade is low and the tip is buying reliability instead. Mixed campaigns can bundle the large trades and send the small ones normally.

A workable rule: bundle where sequence or size matters, send normally where neither does. Large trades, launch-window trades, and any sequence whose ordering you depend on belong in bundles. A long tail of small trades on an established pool generally does not need them, and paying tips on every batch of those is a real cost for a benefit that rounds to nothing.

The failure characteristics differ too, and this affects the calculation. An ordinary transaction that fails costs its fee. A bundle that loses its auction lands nothing while you still paid to try, so under-bidding tips is more expensive than under-bidding priority fees. Measured failure rates per program are on the measurement page, and full budget arithmetic is in the cost breakdown.

Whether protection is worth buying comes down to trade size against pool depth, which is a campaign setting rather than a product feature. Those settings, and what each one costs, are on the Solana volume bot overview.

Exposure differs sharply by venue. A Pump.fun bonding curve has no pool to sandwich in the usual sense, but it has the heaviest competition for the same accounts, so the loss shows up as failed attempts rather than as slippage extracted by a searcher. In a Raydium or PumpSwap pool the classic sandwich is possible, and it becomes worthwhile to an attacker only when your trade is large against available depth. Concentrated venues such as Orca Whirlpools and Meteora DLMM raise that risk when price sits outside the dense range.

Questions

Does Solana have a mempool?
Not a public one in the Ethereum sense. Transactions are forwarded to the current leader rather than broadcast to a global waiting area, which narrows who can observe an order before it executes without reducing that group to zero.
Are small trades at risk of sandwiching?
Much less so. The attack has to cover the attacker fees and risk from the price movement your trade causes, so a small swap on a reasonably deep pool is not a profitable target. Risk concentrates on large trades against thin liquidity.
Does bundling hide my transactions?
No. Bundling controls ordering and atomicity, not visibility. Every transaction stays on chain and readable, and a coordinated fleet remains identifiable through funding patterns regardless of how transactions were submitted.
Is price impact the same as MEV?
No. Price impact is the movement your own trade causes against shallow liquidity, with nobody extracting anything. MEV is value taken by a third party positioning around your order. Bundle routing addresses the second and cannot address the first.
Should every volume campaign use bundles?
Not necessarily. Bundle the trades where size or sequence matters and send the rest normally. Paying a tip on every batch of small trades is a real cost for protection those trades barely need.