How Ethereum Sniper Bots Work: Same-Block Buys With Flashbots (and the Real Risks)

Every time a new token launches on Uniswap, the first buyers aren't people clicking a button on a website. They're bots. By the time a human sees the chart, the first block is already done and the earliest positions are taken.

These are sniper bots. This article explains how they actually work on Ethereum, why Flashbots changed the game, and the risks that most "sniper bot" sales pages conveniently leave out.

What "sniping" means

Sniping is buying a token at the exact moment it becomes tradable, ideally in the same block that trading opens, and ideally as the first buyer in that block.

On a constant-product DEX like Uniswap V2, the first buy gets the best price, because every buy after it pushes the price up along the curve. If a token gets real demand after launch, the earliest buyers are sitting on the cheapest entries. That's the whole thesis. It's also why the competition for that first slot is so intense.

The launch moment

To snipe, the bot needs to know exactly when trading opens. On Ethereum, a launch usually happens in one of two ways.

Liquidity is added and trading is live immediately

The deployer calls addLiquidityETH on the Uniswap V2 router, which creates the pool (if it doesn't exist yet) and deposits the token plus ETH. The function selector for addLiquidityETH(address,uint256,uint256,uint256,address,uint256) is 0xf305d719. That's the selector you see the bot listening for in the demo on the MEVDAO homepage. As soon as this transaction executes, anyone can swap.

Liquidity is added first, trading is enabled later

Many tokens add liquidity but block swaps until the owner calls a custom function, often something like enableTrading() or openTrading(). The name and selector differ for every contract, which is why a good sniper lets you specify the function signature to watch for, rather than assuming everyone uses the same one.

Either way, the bot's job is the same: detect the transaction that opens trading, and get its buy in right behind it.

How a sniper bot works, step by step

1. Watch for the trigger

The bot subscribes to pending transactions from one or more Ethereum nodes and filters for transactions sent to the target token or router whose calldata starts with the selector it's watching. Speed matters here. A slow node or an overloaded websocket can see the transaction too late.

Not every launch is visible in advance, though. If the deployer sends the launch transaction through a private RPC, it never touches the public mempool. In that case the bot can't see it before it's included, and the best it can do is buy in the very next block. That's still early, but it's a different race.

2. Build the buy

The buy itself is a normal swap, for example swapExactETHForTokens on the router, or a call to a custom contract that does the swap and adds safety checks. Two parameters matter most:

  • Amount in. How much ETH you're committing.
  • Minimum amount out. Your slippage protection. If you set it to zero, you'll accept any price, including a terrible one if someone else bought right before you.

Serious bots usually route the buy through their own smart contract so they can add checks in the same transaction, such as reverting if the received amount is too low, or if a test sell shows the token can't be sold.

3. Get positioned right behind the launch transaction

This is where Flashbots comes in. Instead of broadcasting the buy to the public mempool and hoping, the bot sends a bundle to block builders. A bundle is an ordered list of transactions that's included all together, in order, in one block, or not at all. The Flashbots Quick Start docs list front-running protection and risk-free access to blockspace as the main reasons searchers use it.

For a sniper, the bundle looks like this:

  1. The deployer's launch transaction, copied from the mempool as a signed raw transaction.
  2. Your buy.

That puts your buy immediately after liquidity is added, in the same block. This is called a backrun. You're not front-running the deployer; you're placing yourself directly after them.

4. Pay the builder

Lots of bots want that exact position, and builders pick whichever bundles pay them the most. You pay through the priority fee on your transaction, through a direct ETH transfer to the block's coinbase address, or both. In the MEVDAO bot demo, that's the "bribe 0.05 ETH" line.

How much to bid is the hard part. Bid too low and another sniper takes the slot. Bid too high and you've paid away your edge. Flashbots runs this as a blind auction, as its troubleshooting guide explains: you can't see competitors' bids beforehand, only on-chain after the block is built.

5. Have a fallback

Flashbots isn't the only builder, and not every validator runs mev-boost. A bundle sent only to one builder can miss a block for reasons that have nothing to do with your bid. Good bots send to multiple builders, and when bundles can't land, fall back to a regular high-priority transaction for the next block. The MEVDAO Sniper Bot has that fallback built in: if Flashbots isn't available, it still snipes.

6. Exit

Buying is half the trade. The bot also needs a plan for selling: a target multiple, a time limit, or selling in pieces as price moves. Without one, you're just a fast bag-holder.

Why bundles are such a big deal for sniping

Before private bundles, sniping was a gas war in the public mempool. Everybody broadcast their buy with a huge gas price, the transactions got ordered by fee, and the losers paid gas on failed or terrible buys.

Bundles changed two things.

No gas on failure. The Flashbots docs are explicit: if any transaction in a bundle reverts (unless you've explicitly allowed it), the bundle isn't included at all. So a snipe that doesn't land in the right spot just doesn't happen, and you don't pay for it.

Precise positioning. Because the bundle includes the launch transaction itself, your buy can only land right after it. You're not hoping the ordering works out; you've specified it.

The risks nobody puts on the sales page

Sniping can be profitable, but it's one of the riskiest things you can do in crypto. Here's what actually goes wrong.

Honeypots

A honeypot is a token you can buy but can't sell. The contract blocks, taxes or reverts sells for everyone except the owner. Tools like Dedaub's Tok{In} honeypot checker simulate a buy and a sell to detect this, and a good sniper runs the same kind of simulation before buying.

But a clean simulation only tells you the token is sellable right now. Dedaub says it plainly on their checker page: a clean scan is not a guarantee, because an owner can raise a modifiable tax or an upgradeable contract can change later.

Switchable honeypots

The nastier version is a token that's sellable at launch, passes every check, lets the snipers pile in, and then the owner flips a switch: sets the max sell to zero, blacklists buyers, or pauses transfers. The open-source LqSniper project on BNB Chain documents this in its field report. Their conclusion was that no pre-buy check can detect a future state change, because the information doesn't exist when you have to decide.

The practical defense is to look at what the owner can do, not just what the token does today. Can taxes be changed? Is there a blacklist function? Is ownership renounced? Is the contract an upgradeable proxy? Is the liquidity locked? Any of these can be fine in a legit project, and any of them can be the exit door in a scam.

Anti-bot mechanics

Many launches are designed specifically to punish snipers:

  • Max transaction and max wallet limits in the first blocks, so you can't buy a large position.
  • Very high launch taxes that drop over the first minutes, so first-block buyers pay a huge fee.
  • Blacklisting first-block buyers, so the wallets that bought in the same block as liquidity can't sell.
  • Delayed trading, where liquidity is added and trading is enabled later, sometimes with a whitelist window.

Your bot needs to read the token's code and simulate the buy to catch these. If a token taxes 30% on the first block, a "successful" snipe can still be a loss.

The competition

You're not the only bot. On popular launches, several snipers bid for the same position, and the winner is whoever pays the builder the most. That can push the cost of being first close to the value of being first. This is the same dynamic that makes simple arbitrage so hard, which I wrote about in how to build a profitable MEV arbitrage bot.

Most tokens go nowhere

Even without scams, most new tokens don't attract real demand. Being first into a token nobody else wants is still a loss. Token selection matters more than speed.

So how do you snipe without getting wrecked?

Speed is necessary but not enough. What separates profitable snipers from the rest is:

  1. Choosing which launches to snipe. Fewer, better targets beat sniping everything.
  2. Simulating every buy and sell before committing, and re-checking owner permissions.
  3. Sizing small. No single launch should be able to hurt you.
  4. Having an exit plan before you buy.
  5. Using private bundles so failed snipes cost nothing.

That's the idea behind MEVDAO. The Premium Sniping Group focuses on proven tokens with a better chance of success, rather than spraying buys at every launch. The Sniper Bot handles the execution: you fund a sniper wallet, enter the token and the function signature to watch, and it uses Flashbots bundles to buy in the same block trading opens. Both are part of the MEVDAO subscription, along with the Token Rescue Bot, and you can start a 3-day free trial.

None of this removes the risk. Sniping is high risk, and you should only use money you can afford to lose.

If you want more breakdowns like this, join the free MEV Secrets email list below. And if you need a custom sniping or trading bot built, message me on Telegram.

← All articles