Three Checks That Limit Sandwich Risk on Destination Swaps
Destination swaps face sandwich risk when a public trade can be reordered; a firm output floor, a liquid route and private submission narrow the exposure.
The Blockheight Editors··3 min read
A destination swap limits sandwich losses when its output floor is firm, its route has enough liquidity, and its transaction avoids public-order exposure. A sandwich searcher can trade before and after a visible swap, shifting the pool price against the user; Ethereum.org describes the result as worse execution and increased slippage.
Cross-chain routes add a timing gap: funds can arrive on the destination chain later, where the final swap may use a separate quote and execution. For the treasury-transfer question across chains, see omnichain treasury transfer options. The checks below apply to the destination leg, whether a router executes it automatically or the user submits it after arrival.
What output floor should a destination swap use?
Set a minimum amount out that reflects the current quote, known fees and expected price impact, then allow only a small additional deviation. A wide slippage tolerance gives an attacker more room to worsen the fill while still passing the contract’s check; Ethereum’s draft ERC-8377 explains that a static minimum can become stale between signing and execution.
Do not copy a single percentage across every trade. A thin pool or a large order may need more room for an honest fill, but that same room enlarges the loss a sandwich can extract. If the market moves beyond the floor, a revert or refund is preferable to accepting an unexpectedly poor destination amount; confirm the route’s refund behavior before signing.
How can route depth reduce sandwich exposure?
Check the destination pool and route, not only the headline quote. Deeper liquidity generally means a given trade moves the price less, while a multi-pool route can add fees and more execution points; compare the quoted output after costs and inspect whether the route concentrates a large order in one shallow pool.
- Compare the destination quote with an independent reference price.
- Check pool depth for the trade size, rather than judging by token volume alone.
- Consider splitting a large trade if each smaller execution gets a fresh quote and floor.
Splitting can reduce price impact per execution, but it adds transactions and may incur more fees. The best route for most users is the one with enough depth and a clear minimum output, not simply the route showing the highest estimate.
Does private submission stop destination sandwiches?
Private transaction routing can reduce exposure when the destination swap would otherwise sit in a public mempool; Ethereum.org lists it alongside tight slippage limits as a common defense. It does not guarantee protection, and a cross-chain transfer is not private merely because the initial transaction used a private path: check how the final destination swap is submitted.
Next, the swap either executes within its output bound or fails under the route’s refund rules. Which private routes, execution-time price checks and refund paths are available depends on the chain and protocol, so confirm those settings before sending; no guard removes all ordering risk.