Reducing Gas Waste: Private Bundles vs Public Auctions
**Answer first** — Private bundles save gas in two specific ways that don't fully overlap: **(1) atomic submission** means a failed simulation costs nothing on-chain (no gas burned

Answer first — Private bundles save gas in two specific ways that don't fully overlap: (1) atomic submission means a failed simulation costs nothing on-chain (no gas burned for reverted attempts), and (2) sealed-bid pricing means you don't bid against searchers seeing the same opportunity in the public mempool, so you pay your reservation price instead of an auction-cleared price. On Ethereum mainnet for contested opportunities, the gas savings are usually meaningful — often 20–60% of what a naive PGA bidder would pay over the same trades. On chains without bundle relays (Optimism, Base, Arbitrum, Polygon), "private bundles" don't exist as a product; the equivalent discipline is single-tx atomicity through an executor contract, plus low-latency sequencer access. The trap most operators fall into is comparing private vs public on inclusion rate alone — that misses the gas savings on rejected/reverted attempts, which is often where the bigger PnL gap lives.
Mastery path
- What is MEV?
- Inclusion probability 101
- Fixing failed bundles guide
- Reducing gas waste (current)
- Private bundle vs public mempool
The gas math, decomposed
Compare a private-bundle path and a public-PGA path over the same 100 attempted backruns:
| Step | Public PGA | Private bundle (Flashbots etc.) |
|---|---|---|
| Trigger detected | Same | Same |
| Compute backrun | Same | Same |
| Simulate | Same | Same |
| Bid submission | High priority fee, public mempool | eth_sendBundle, sealed |
| Other searchers see your bid? | Yes — they raise theirs | No |
| If your tx loses the auction | Mined anyway, possibly reverts → gas paid | Not included → gas free |
| If your tx wins | Mined, gas paid at your bid price | Mined, gas paid at builder-accepted price |
| Reverted attempt cost | Full gas, no profit | Zero (relay drops the bundle) |
The "if your tx loses" row is where the savings concentrate. On contested mainnet routes, naive PGA submission means every attempt costs gas regardless of outcome — including the ones that lost the bidding war and reverted on chain. Private bundle submission converts those reverted-attempt costs to zero.
When private genuinely saves real money
Three conditions where the savings are large:
- High contention. Opportunities visible to many searchers (large DEX swaps, liquidations cascade events, depeg scenarios). Public PGA bidding here gets out of control fast — the auction clears at uneconomic levels. Private bundles let the builder pick a winner at a sensible price.
- Low success-rate strategies. A backrun strategy that simulates profit on 100 candidates but only wins 30 has 70 losing attempts. Public path: gas paid on most or all of the 70. Private path: gas paid on zero of them.
- Frequent simulation drift. State moves between sim and send; a strategy that reverts often on chain wastes gas every revert. Bundle submission with
revertingTxHashesproperly used (or the relay's auto-drop on revert) eliminates that waste.
When public is acceptable
Sometimes the public mempool is genuinely the right path:
- Uncontested opportunities on cheap chains (sub-cent gas). When gas is essentially free, the auction risk is low. The simplicity of public sends has its own value.
- Strategies that need probe-and-retry shapes where landing matters more than perfect pricing. Some liquidation strategies fall here — first searcher to land wins, exact price less important.
- Chains without bundle relays. Optimism, Base, Arbitrum, Polygon (unless you're using FastLane). The "public mempool" caveats on these chains are different — there isn't really a public mempool to bid against, the question is just sequencer ordering.
For these cases the discipline becomes: tight gas caps, tight slippage caps, atomic-route encoding, kill-switch on session budget. Public submission with strong caps can be safe.
The chains-without-relays case
On Optimism, Base, Arbitrum, and Polygon, the conversation is different because there's no Flashbots-equivalent bundle relay (Polygon has FastLane but it's a partial-coverage product).
The gas-waste reduction strategies on these chains:
- Single-tx atomicity through an executor contract. Instead of two top-level sends, one contract call that does both legs and reverts on partial fill. The revert costs just the contract's setup gas, not both legs.
- Pre-sign simulation against a chain fork at current head. Catches reverts that would otherwise pay gas on chain. The FRB Agent does this automatically.
- Live fee re-query immediately before signing. On OP Stack chains the L1 portion of the fee shifts inside a block during blob-demand spikes; signing against a stale value is how you over-pay.
The combination gets you most of the gas-savings benefit without a bundle relay. Not zero gas waste, but bounded.
The metric trap
Operators sometimes compare private vs public on inclusion rate alone. That misses where the savings are.
Better comparison framework:
| Metric | Why it matters |
|---|---|
| Inclusion rate | How often you land |
| Gas-paid-per-attempt | What you pay regardless of outcome |
| Gas-paid-per-included-tx | What landing costs |
| Gas-paid-per-reverted-attempt | The hidden cost public hides and private eliminates |
| Realised-vs-sim PnL gap | Whether the model is honest |
Run all five over a few hundred attempts. The gas-paid-per-reverted-attempt is the one that surprises operators on first measurement — it's often a third or more of total gas cost for naive public-mempool strategies, and it's recoverable.
Working configuration
For Ethereum mainnet:
- Default to private bundle submission through fan-out (Flashbots + Titan + beaverbuild + rsync-builder).
- Fall back to public mempool only with strict caps (per-trade gas, slippage) and only for strategies where the contention math says public is fine.
- Always use
revertingTxHashescorrectly so unintended revert paths cost zero on-chain gas.
For OP Stack / Arbitrum / Polygon:
- Pack atomic into a single executor-contract call that reverts on partial fill.
- Simulate against fork at current head before every send.
- Re-query live fee state at sign time, not at strategy entry.
- FastLane on Polygon for atomic-bundle submission with auction-priced inclusion (paired with public-mempool fallback).
Gas Accounting at Scale: Monthly PnL Impact
Running these numbers on a realistic production workload clarifies why the choice matters:
Scenario: 1,000 attempted backruns per month on Ethereum mainnet
| Path | Attempt cost | Win rate | Losses paid | Total gas spend |
|---|---|---|---|---|
| Public PGA | ~0.003 ETH per attempt | 25% | 750 × 0.003 = 2.25 ETH | ~3.0 ETH |
| Private bundle | ~0.004 ETH per landed tx | 35% (better inclusion) | 650 × 0 = 0 ETH | ~1.4 ETH |
The private bundle path wins by ~1.6 ETH/month in this scenario purely on eliminated reverted-attempt costs. The higher per-tx cost when you DO land is more than offset by paying nothing on losses. At 1,000 ETH in monthly extracted value, 1.6 ETH is 0.16% of gross — not huge. At 100 ETH, it's 1.6%, which is substantial. The benefit scales inversely with win rate: the worse your hit rate, the more private bundle dominates.
What changes this math:
- Win rate above 60%: The advantage of zero-cost losses shrinks; public PGA may be competitive on simple, high-confidence strategies.
- Gas price spikes: During base-fee surges, the cost of each reverted public attempt grows proportionally. Private paths decouple from this noise.
- Multi-relay fan-out vs. single-relay: Fan-out to 4–5 builders raises inclusion rate substantially, which is the primary lever on top of the zero-cost-loss structure.
Track gas-paid-per-reverted-attempt monthly. If it exceeds 10% of realised PnL, private bundle switching is likely the single highest-ROI infrastructure change available.
Related Reading
References
Шаг после прочтения
Запустить панель управления FRB
Подключите свой кошелек, подключите клиент узла к 6-значному PIN-коду и назначьте контракт, упомянутый выше.
Нужен установщик?
Загрузите и проверьте FRB
Загрузите последнюю версию установщика, сравните SHA-256 с версиями, а затем следуйте контрольному списку безопасного запуска.
Проверьте выпуски и SHA‑256Похожие статьи
Дальнейшее чтение и инструменты
Обсуждение
Примечаний пока нет. Добавьте первое наблюдение или поделитесь ссылкой со своей командой на X (@MCFRB).