Sniper Bot Gas Settings: Priority Fees & Builder Tips

By Merunas Grincalaitis (X · GitHub · DEV · Hashnode · Telegram), Founder & Lead MEV Engineer at MEV DAO — Ethereum smart contract, Flashbots & MEV builder since 2017. Last updated: October 2026.

TL;DR: Winning a competitive Ethereum token launch requires separating public mempool gas from private builder bribes. Effective sniper bot gas settings in 2026 pair a conservative EIP-1559 maxFeePerGas buffer (typically 2x the current base fee) with a conditional block.coinbase builder tip or priority fee sniping bid sent simultaneously to Flashbots, Titan, and Beaverbuild—ensuring you only pay the bribe when your buy lands inside your target slippage and max-wallet bounds.

Part of the Ethereum Sniper Bots, Token Launches & Honeypot Defense Topic Cluster: Start with our Pillar Guide, How Ethereum Sniper Bots Work: Same-Block Buys With Flashbots (and the Real Risks), for the complete architectural blueprint. This guide focuses specifically on sniper bot gas settings with production Ethereum mainnet parameters and runnable verification steps.

Every week I talk to traders who lost 0.2 ETH in failed transaction fees or got filled at the very top of a launch candle because they copied outdated sniper bot gas settings from a 2021 bull-market guide. Back then, winning a Uniswap snipe meant cranking your legacy gas price to 500 Gwei in MetaMask and hoping miners ordered the public mempool by gas price.

On Ethereum in 2026, more than 90% of blocks are constructed by specialized MEV-Boost block builders (Titan Builder, Beaverbuild, Rsync, and Flashbots). If you broadcast a high-gas swap to a public RPC endpoint, you are not bidding for the top of the block—you are broadcasting a free dinner invitation to every sandwich searcher watching the mempool. Below is how priority fee sniping, builder tips, and bundle ordering actually work, plus the exact gas formulas we use inside MEV DAO's Ethereum Sniper Bot.

Architecture diagram of sniper bot gas settings workflow on Ethereum showing Launch Tx Detected, Anvil Tax/Sell Sim, Block-0 Bundle Sign, and Builder Coinbase Tip
Figure 1: End-to-end Ethereum execution pipeline for sniper bot gas settings (Launch Tx Detected → Anvil Tax/Sell Sim → Block-0 Bundle Sign → Builder Coinbase Tip).

How Ethereum block builders order sniper bundles in 2026

To configure sniper bot gas settings properly, you first need to understand how a block builder decides which sniper gets buyer slot #1 directly behind a developer's addLiquidityETH or enableTrading() transaction.

When a token developer broadcasts their launch transaction (Tx_dev) to the public mempool, dozens of searchers and sniper bots construct a two-transaction bundle: $$ ext{Bundle} = [ ext{Tx}{ ext{dev}}, ext{Tx}{ ext{sniper}}]$$

Because multiple bots are all trying to backrun the exact same Tx_dev, block builders cannot put everyone in slot #1. Instead, builders rank competing bundles by effective bundle score (or total net payment to the builder's feeRecipient / block.coinbase):

$$ ext{Effective Bundle Score} = rac{\Delta ext{Builder ETH Balance} + ( ext{Gas Used} imes ext{Priority Fee})}{ ext{Total Bundle Gas Used}}$$

Notice that a builder earns money from your bundle in two ways:

  1. EIP-1559 Priority Fee (maxPriorityFeePerGas): Every unit of gas your transaction consumes pays min(maxPriorityFeePerGas, maxFeePerGas - baseFee) to the block builder.
  2. Direct block.coinbase.transfer(bribe): Your custom executor contract verifies that you received at least minTokensOut (and that the token is not a honeypot), and only then transfers an explicit ETH tip directly to block.coinbase.

Why do professional searchers prefer direct block.coinbase bribes—or conditional priority fee bundles via eth_sendBundle—over raw public priority fee sniping? Because if a bundle fails simulation or lands after the pool price has already pumped 10x past your limit, a private bundle reverts off-chain and costs 0 ETH.

Whether you are configuring our non-custodial Flashbots sniper or tuning a Telegram router, your sniper bot gas settings should scale dynamically with the liquidity depth of the launch and the number of competing wallets.

Launch Scenario Typical LP Depth Recommended maxFeePerGas Priority Fee (maxPriorityFeePerGas) Builder Bribe (block.coinbase) Execution Channel
Quiet / Stealth Launch 1 – 3 ETH LP 2.0x current baseFee 3 – 8 Gwei 0.005 – 0.015 ETH Multi-builder bundle (eth_sendBundle)
Mid-Tier Community Launch 5 – 15 ETH LP 2.5x current baseFee 10 – 25 Gwei 0.025 – 0.08 ETH Flashbots + Titan + Beaverbuild simultaneous
High-Hype / Capped MaxWallet 20+ ETH LP 3.0x current baseFee 20 – 50 Gwei 0.10 – 0.40+ ETH Conditional executor contract with minTokensOut
Post-Deadblock Snipe (Block N+2) Any LP size 2.0x current baseFee 5 – 15 Gwei 0.01 – 0.05 ETH Target block launchBlock + deadBlocks + 1
Manual Fast Exit (Sell) Active pool 2.0x current baseFee 5 – 12 Gwei 0.003 – 0.01 ETH Private flashbots rpc or mev-shield aggregator

Why setting maxFeePerGas too close to baseFee kills your bundle

One of the most common mistakes in priority fee sniping is setting maxFeePerGas equal to the current block's baseFee + maxPriorityFeePerGas. Under EIP-1559, if the previous block was 100% full, the Ethereum protocol automatically increases baseFee by 12.5% in the very next block.

If block N has a baseFee of 20 Gwei and you set maxFeePerGas = 25 Gwei with maxPriorityFeePerGas = 5 Gwei, what happens when block N+1's baseFee jumps to 22.5 Gwei?

  • Your transaction is still valid, but your effective priority tip to the builder gets clipped to 25 - 22.5 = 2.5 Gwei!
  • Worse, if baseFee rises two blocks in a row to 25.3 Gwei, your entire bundle is immediately rejected by every builder with max fee per gas less than block base fee.

The rule of thumb: Always set maxFeePerGas = (currentBaseFee * 2) + maxPriorityFeePerGas. You DO NOT pay maxFeePerGas; Ethereum only burns the actual baseFee of the block plus your priority fee, and refunds the rest automatically. We cover every reason bundles get dropped by builders in Flashbots Bundles Explained: How to Send eth_sendBundle and Why Yours Isn't Landing.

Priority fee sniping vs. conditional coinbase bribes

When you configure priority fee sniping inside a standard wallet or basic bot, your gas tip is attached to the outer Ethereum transaction header. If you set a 200 Gwei priority fee on a 300,000 gas limit swap:

  • If the swap succeeds at 180,000 gas, you pay 180,000 * 200 Gwei = 0.036 ETH.
  • If you send that transaction over a public RPC (or a basic private RPC that allows reverting transactions) and the transaction reverts because maxWallet was exceeded, you still burn the gas used up to the revert point.

With a custom Solidity sniper executor submitted via eth_sendBundle:

  1. You set a minimal outer maxPriorityFeePerGas (e.g., 1 to 2 Gwei) so the transaction header is cheap.
  2. Inside the Solidity contract, your code calls the Uniswap router, checks require(token.balanceOf(address(this)) >= minTokensRequired), runs an inline tax check, and then executes:
    (bool success, ) = block.coinbase.call{value: builderBribe}("");
    require(success, "Bribe failed");
    
  3. Because builders reject reverting bundles by default, if you do not get your exact minimum token allocation, the bundle never touches the blockchain and you pay zero gas and zero bribe.

For reference implementations of conditional bribe contracts and multi-builder submission, check out our open-source ethereum-sniper-bot-flashbots repository on GitHub and Simulate a Flashbots Bundle With eth_callBundle.

How to cancel or replace a pending sniper bundle (`flashbots cancelbundle`)

What if you submit a block-0 sniper bundle for a token launch and, three seconds before the block is sealed, you spot the deployer transferring 50% of the supply to a hidden wallet?

How you abort depends on how you submitted the trade:

  • Via eth_sendBundle with replacementUuid (flashbots cancelbundle): When submitting a bundle to Flashbots, Titan, or Beaverbuild, pass a replacementUuid string in your JSON-RPC payload. If you need to pull the bid before the block closes, call eth_cancelBundle with that exact replacementUuid (or send a replacement bundle with the same UUID and a 0-wei transaction).
  • Via a flashbots rpc or mev-shield aggregator private transaction: If you sent a single raw transaction via Flashbots Protect RPC (https://rpc.flashbots.net), you can cancel it by sending a 0-ETH self-transfer from the same wallet with the exact same nonce and a 15% higher maxPriorityFeePerGas.

Bribe sizing math: Never bid more than the launch's EV

Aggressive sniper bot gas settings can win you block-0 slot #1 on every single launch—and still bankrupt your wallet if you overpay on low-liquidity rugs.

Before setting your builder tip, calculate the maximum rational bribe: $$ ext{Max Bribe} = ext{Position Size} imes ( ext{Expected Max Wallet Share}) imes ext{Target Multiple} imes ext{Clean Launch Probability}$$

In our Crypto Sniping Group on Telegram, we share live bribe benchmarks for upcoming Ethereum launches so members know whether a launch warrants a 0.015 ETH tip or a 0.15 ETH block-0 war—and you keep 100% of the upside instead of losing 2% round-trip to a custodial Telegram bot's fee router (see Telegram Sniper Bot Fees Compared).

Frequently asked questions

What are the best sniper bot gas settings for Ethereum token launches?

Set maxFeePerGas to at least 2x to 2.5x the current block's baseFee so a 12.5% base-fee spike never invalidates your bundle, keep gas limit around 250,000–350,000 to cover complex tax-token transfer hooks, and size your builder bribe (0.01 to 0.15+ ETH) based on pool liquidity and maxWallet size.

What is the difference between priority fee sniping and a builder bribe?

Priority fee sniping pays the block builder per unit of gas consumed (gasUsed * maxPriorityFeePerGas) via the standard EIP-1559 transaction header. A builder bribe transfers a fixed ETH amount directly to block.coinbase inside a smart contract call only after verifying that your buy met your minimum token output requirements.

Why did my sniper transaction fail even though I set higher gas than other buyers?

On Ethereum, sending a high-gas transaction to a public RPC like Infura or Alchemy puts your swap in the public mempool rather than inside the block-0 builder bundle that includes the developer's enableTrading transaction. Searchers who bundle [dev_tx, buy_tx] via eth_sendBundle always execute immediately behind the developer, ahead of standalone mempool transactions.

How does flashbots cancelbundle work if I change my mind before launch?

When you submit a bundle via eth_sendBundle with a replacementUuid field, you can call the eth_cancelBundle RPC method (flashbots cancelbundle) using that UUID—or broadcast a higher-priority self-transfer on the same nonce—to drop the bundle from the builder's auction queue before the next slot is proposed.

Do I pay gas fees if my Flashbots sniper bundle does not land in the block?

No. Bundles submitted via eth_sendBundle to Flashbots, Titan, and Beaverbuild only execute if they are included in the canonical block and do not revert. If another searcher outbids you for the max-wallet cap or the developer delays launch, your unincluded bundle costs zero gas.


Want pre-tuned multi-builder gas presets and real-time launch bribe benchmarks? Start your 3-day free trial at mevdao.org/subscribe or message me directly on Telegram (@merunas).

← More on Sniper Bots All articles