Ethereum Sniper Bot: Flashbots Same-Block Sniping on Uniswap
By Merunas Grincalaitis, founder of MEV DAO and a developer who builds MEV, sniping and trading bots on Ethereum. Last updated: October 2026.
TL;DR: A Flashbots sniper bot buys a new Uniswap token in the same block trading opens (Block-0) by sending a bundle that contains the launch transaction followed by its buy, with a payment to the builder. Which transaction to watch depends on the launch: liquidity adds on Uniswap v2, pool initialization and liquidity on v3, or the pool and hook setup on v4, or a custom trading switch. If the launch transaction is private, the best a sniper can do is the next block (Block-1).
Most guides to the Ethereum sniper bot stop at "it buys faster than you can". That's true, but it doesn't explain why one sniper lands in the launch block and another lands three blocks later at twice the price. The difference comes down to how the launch happens on Uniswap, what the bot watches for, and how it gets its buy into the block.
In this article I go through how a Flashbots sniper bot handles a Uniswap launch in practice: the launch patterns on v2, v3 and v4, the same-block (Block-0) and next-block (Block-1) approaches, how the bundle is built and paid for, the settings that matter, and the risks that no amount of speed fixes. If you want the basic concepts first, start with how Ethereum sniper bots work.
What is same-block sniping?
When a token launches on Uniswap, there's one transaction that makes it tradable. Usually that's the first liquidity add, or a call to a trading-enable function on the token. Every buy before that transaction fails. The best a buyer can do is be ordered directly after it, in the same block.
Researchers who study snipers use the same framing. In The Blockchain Warfare: Investigating the Ecosystem of Sniper Bots on Ethereum and BNB Smart Chain (ACM Transactions on Internet Technology, 2025), Cernera and co-authors call the block with the first liquidity Mint Block-0 and the next one Block-1. Bots that buy in Block-0 monitor the mempool. Bots that buy in Block-1 react to the event logs after the block is mined. The study identified 352,413 sniping operations on Ethereum and 1,716,917 on BNB Smart Chain, and found that Ethereum operations had a higher success rate but needed a larger investment.
So there are two kinds of sniper:
- Block-0 (same-block): sees the launch transaction while it's still pending and gets its buy ordered right behind it.
- Block-1 (next-block): sees the launch only after it's mined and buys at the top of the next block.
Block-0 gets the better price, but it only works if you can see the launch transaction before it lands.
How do launches happen on Uniswap v2, v3 and v4?
Your bot can only react to a launch it recognises, and the three Uniswap versions launch differently.
Uniswap v2
This is the classic launch, and it's still the most common for new tokens. The deployer calls addLiquidityETH on the v2 Router (see the Router02 reference). That creates the pair if it doesn't exist yet and adds the first liquidity in one call. Plenty of tokens add liquidity first and keep trading blocked until the owner calls a separate function, often named something like openTrading or enableTrading. In that case, the trading-enable call is the real launch, not the liquidity add.
So the first thing to configure is which function selector to watch. It's the first four bytes of the calldata: for example 0xf305d719 for addLiquidityETH, or the token's own trading-enable selector. If you watch the wrong one, your bot sits there while everyone else buys.
Uniswap v3
A v3 launch normally creates and initialises a pool, then mints a liquidity position, often through the position manager in one multicall. The price range the deployer chooses matters. A narrow range can mean very little liquidity at the price you'd actually buy, and that makes slippage settings important.
Uniswap v4
In v4, all pools live in one PoolManager contract, and a pool can have a hook attached, which is custom code that runs around swaps and liquidity changes. Hooks are great for builders. For snipers they're a risk, because a hook can add launch-only fees, block early swaps, or treat the first buyers differently. I've written about this in anti-snipe token launches. On v4, read the hook before you snipe.
How does a Flashbots sniper get into Block-0?
This is the core of same-block sniping. When the bot sees the pending launch transaction in the mempool, it builds a bundle containing:
- The deployer's launch transaction, exactly as it was signed and broadcast.
- Your buy, signed by your sniper wallet.
It sends that bundle to block builders. A bundle executes in order, all or nothing, so if it lands, your buy is guaranteed to come right after the launch. And because the buy was never broadcast publicly, nobody can copy it or sandwich it first. The Flashbots quick start explains the flow: searchers send bundles to builders, builders simulate them and build blocks, and validators pick the most valuable block offered through mev-boost.
If you want to know what's actually in the request and why bundles get dropped, I've covered that in Flashbots bundles explained.
Paying the builder
Builders pick the bundles that pay them most, and on a hyped launch you aren't the only searcher bundling the same launch transaction. Your bot pays either through a high priority fee or a direct transfer to the block's coinbase address, which is the bribe. Bid too little and someone else's bundle wins the slot right after the launch. Bid too much and you've paid away your edge before the trade even starts.
When the launch is private
More and more deployers send their launch through a private RPC. If the launch transaction never appears in the public mempool, there's nothing for your bundle to include, so a Block-0 snipe isn't possible. A good sniper falls back to the Block-1 approach: it watches for the pool's first Mint or the trading-enable event in a newly mined block, and immediately submits a buy aimed at the top of the next block. That's slower, but it means you don't miss the launch entirely.
Which sniper bot settings matter most?
Speed gets you into the block. These settings decide whether being there was worth it:
- Target token and function selector. Make sure they match how this particular token launches.
- Buy amount. In a thin new pool, a big buy moves the price against you. Smaller and steadier usually beats one huge first buy.
- Slippage / minimum out. Too tight and the buy reverts (inside a bundle, a revert just means it doesn't land). Too loose and a tax or a thin range eats your fill.
- Bribe. Set it relative to what you expect to make on the trade, not as a reflex.
- Exit plan. Decide before the launch when you'll take profit and when you'll cut a loss. Launch prices move within blocks.
What should you check before sniping a token?
A same-block buy into a honeypot is still a loss. Before I arm a sniper, I check:
- Can it be sold? Simulate a buy and a sell on a fork of the latest state. Honeypots let you buy and block selling. More in how to spot a honeypot, and you can check a token with tools like Dedaub's honeypot checker.
- Taxes and limits. Look for launch-only taxes, max-transaction and max-wallet limits, and cooldowns.
- Owner powers. Check whether the owner can blacklist addresses, change taxes or pause trading after launch.
- Liquidity. Check how much liquidity there is, who holds the LP, and whether it's locked or burned. If it isn't, the deployer can pull it.
Running the bot against a mainnet fork before a real launch is the best way to see all of this happen. I explain that process in how to test an MEV bot on a mainnet fork with Anvil.
Should you use a self-hosted bot or a Telegram trading bot?
There are two main ways to run a Uniswap sniper bot:
- Telegram trading bots are quick to start, but they usually hold your trading wallet's key on their own infrastructure and charge a fee on each trade. Check exactly who controls the key.
- Self-hosted or dedicated sniper software keeps the key with you and lets you control the RPCs, bundle settings and simulation, but you need to understand what you're configuring.
Either way, use a dedicated sniper wallet holding only what you're prepared to trade. Bot-themed scams that drain wallets are common. SentinelOne documented drainers posing as trading bots, so never run a "sniper contract" from a video or a random repo without reading it.
What risks can't speed fix?
- Rugs and dumps. Being first doesn't stop a deployer from pulling liquidity or dumping on you.
- Anti-snipe mechanics. First-block taxes and blacklists are designed specifically to punish snipers.
- Competition. On popular launches, bribes go up until most of the edge is paid to the builder.
- Fixed costs. Gas and bribes on trades that do land are spent whether the trade wins or loses.
Sniping is high risk. Size small, and only use money you can afford to lose.
Frequently asked questions
What is an Ethereum sniper bot?
It's a bot that buys a newly launched token as soon as it becomes tradable, ideally in the same block as the launch transaction. It does this by watching for the liquidity-add or trading-enable call and reacting automatically.
What makes a Flashbots sniper bot different?
It sends its buy privately to block builders as a bundle, together with the launch transaction. The buy is guaranteed to come right after the launch if the bundle lands, it's never exposed in the public mempool, and if the bundle fails it simply doesn't land, so you don't pay gas for a failed buy.
Can a Uniswap sniper bot buy in the same block as liquidity is added?
Only if the bot can see the launch transaction before it's mined, which usually means it's in the public mempool. If the launch goes out privately, the best possible result is the top of the next block.
Which function should my sniper watch?
Whichever call actually makes the token tradable. For many v2 tokens that's addLiquidityETH, but if trading is enabled separately, watch the token's trading-enable function instead.
Do sniper bots make money?
Some trades do, many don't. The ACM study above found Ethereum sniping had a higher success rate than on BSC but needed more capital. Honeypots, rugs, taxes and bribe competition all eat into returns, and there's no guaranteed profit.
Is it safe to give a sniper bot my private key?
Only use a dedicated wallet with limited funds, and know exactly where the key is stored. Never paste your main wallet's key into any bot.
Related guides
- How Ethereum Sniper Bots Work: Same-Block Buys With Flashbots (and the Real Risks)
- Anti-Snipe Token Launches: Taxes, Blacklists and Trading Delays
- Honeypot Tokens: How to Spot One Before You Buy
- Flashbots Bundles Explained: How to Send eth_sendBundle and Why Yours Isn't Landing
This is the approach behind the MEVDAO sniper bot: you set the token and the function signature to watch, and it uses Flashbots bundles to buy in the same block trading opens, falling back to sniping without Flashbots when it has to. If you want to try it, start a 3-day free trial. And if you need a custom sniper built, message me on Telegram.