<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: MEV DAO</title>
    <description>The latest articles on DEV Community by MEV DAO (@mevdao).</description>
    <link>https://dev.to/mevdao</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4201256%2F5603ae7e-e0ec-4c1c-ac67-84a420927b82.png</url>
      <title>DEV Community: MEV DAO</title>
      <link>https://dev.to/mevdao</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mevdao"/>
    <language>en</language>
    <item>
      <title>How to tell a real sweeper bot rescue from a second scam</title>
      <dc:creator>MEV DAO</dc:creator>
      <pubDate>Wed, 11 Nov 2026 07:13:01 +0000</pubDate>
      <link>https://dev.to/mevdao/how-to-tell-a-real-sweeper-bot-rescue-from-a-second-scam-k4l</link>
      <guid>https://dev.to/mevdao/how-to-tell-a-real-sweeper-bot-rescue-from-a-second-scam-k4l</guid>
      <description>&lt;p&gt;if there's a sweeper bot on your wallet you've probably got the DMs already. you posted about it in a discord, or the address popped up on some drain tracker, and now three "recovery experts" want to help you. most of them are a second scam. a couple aren't. this is how we'd sort them out. fair warning, we run one of the paid options ourselves, so take that into account. disclosure's at the bottom.&lt;/p&gt;

&lt;p&gt;ok so first, a rescue won't bring back what's already gone. once a transfer confirms it's final, for us and for anyone else. what you can save is the stuff still in there, tokens the attacker didn't bother with, NFTs, staked or vesting positions, an airdrop nobody's claimed. attackers leave more behind than you'd think, because moving some of it costs them gas or needs an extra call.&lt;/p&gt;

&lt;p&gt;there's no magic in it. you just stop sending gas on its own. gas and the transfers go in one private bundle, builders put it in a block all at once or drop it, and the bot never gets to see ETH sitting there. oh and run this first:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cast code 0xYourAddress --rpc-url https://ethereum-rpc.publicnode.com
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;if that prints 0x you're fine. if it starts with 0xef0100 there's an EIP-7702 delegation on the account and clearing it has to go inside that same bundle, otherwise the delegate contract just forwards the gas money out.&lt;/p&gt;

&lt;p&gt;so if somebody's promising to get back funds that already left, that's your answer, ignore them. everyone else, ask them a few things.&lt;/p&gt;

&lt;p&gt;the big one is the seed phrase. they'll need the old key, the hacked one, because that wallet has to sign the transfers out, there's no way around it. what they should never ask for is the seed of your new wallet. anyone who asks for that one is running the same old play, drain you twice.&lt;/p&gt;

&lt;p&gt;then money. "send 0.3 ETH for gas and we'll unlock it" is the oldest advance-fee trick there is. the sponsor wallet does need ETH, but it can be a wallet you made and you fund, you don't hand anyone cash for it.&lt;/p&gt;

&lt;p&gt;can they explain the bundle? ask them what goes in it and in what order. when we get asked we just list it: sponsor sends the hacked address exactly enough gas, hacked address sends token A and token B over to your safe wallet, sometimes a tip to the builder last. and we run eth_callBundle on it before anything gets sent. if what you hear back is some fuzzy thing about special software or "tracing the blockchain", i'd walk.&lt;/p&gt;

&lt;p&gt;will they show you a simulation? flashbots lets you simulate a signed bundle against the next block, you see the gas and whether anything reverts. a sepolia dry run with throwaway keys is even better. no simulation, no deal.&lt;/p&gt;

&lt;p&gt;who messaged who? real people mostly don't cold DM victims. the flashbots whitehat hotline (whitehat.flashbots.net) works the other way around, you open a case with them.&lt;/p&gt;

&lt;p&gt;and honestly, you might not need anyone at all. if you're ok running a script, do it yourself. we'd point you at flashbots' &lt;a href="https://github.com/flashbots/searcher-sponsored-tx" rel="noopener noreferrer"&gt;searcher-sponsored-tx&lt;/a&gt; repo first, it's the usual starting point for ERC-20 and NFT rescues, and there are a couple of newer open-source CLIs now that handle the 7702 part. try it on sepolia with junk keys until it lands, then mainnet. if it's a big amount, call the whitehat hotline before you call us. last we checked their docs want $1,000+ still in the wallet and they keep a percentage.&lt;/p&gt;

&lt;p&gt;when is paying someone worth it? mostly when it's messy. like a staked position where you have to unstake, then claim, then transfer, all in one go. or the attacker's awake and fighting you for the same nonce every block. or it's 3am and you'd rather not learn bundle code while your stuff is on fire, which, fair.&lt;/p&gt;

&lt;p&gt;so yeah, disclosure. we're MEV DAO and we sell one of these. if you've gone through the checks and want someone to do it for you, the &lt;a href="https://mevdao.org/blog/rescue-tokens-from-a-compromised-wallet-sweeper-bot-rescue-service" rel="noopener noreferrer"&gt;MEV DAO sweeper bot rescue&lt;/a&gt; page says how it works and what it costs.&lt;/p&gt;

&lt;p&gt;whatever you end up doing, don't send more ETH to the hacked address while you think it over. every top-up goes straight to the bot.&lt;/p&gt;

</description>
      <category>security</category>
      <category>ethereum</category>
      <category>web3</category>
      <category>blockchain</category>
    </item>
    <item>
      <title>What Is an MEV Searcher? What They Do and How They Get Paid</title>
      <dc:creator>MEV DAO</dc:creator>
      <pubDate>Sat, 31 Oct 2026 15:07:12 +0000</pubDate>
      <link>https://dev.to/mevdao/what-is-an-mev-searcher-what-they-do-and-how-they-get-paid-4pdf</link>
      <guid>https://dev.to/mevdao/what-is-an-mev-searcher-what-they-do-and-how-they-get-paid-4pdf</guid>
      <description>&lt;p&gt;&lt;em&gt;Originally published on &lt;a href="https://mevdao.org/blog/what-is-an-mev-searcher-what-they-do-and-how-they-get-paid" rel="noopener noreferrer"&gt;MEV DAO&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;By &lt;a href="https://t.me/merunas" rel="noopener noreferrer"&gt;Merunas Grincalaitis&lt;/a&gt;, founder of &lt;a href="https://mevdao.org" rel="noopener noreferrer"&gt;MEV DAO&lt;/a&gt; and a developer who builds MEV, sniping and trading bots on Ethereum. Last updated: Oct 30, 2026.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; An MEV searcher is a person or team that runs bots to find profitable transaction orderings on Ethereum, like arbitrage between DEXes or liquidations on lending protocols, and then sends those transactions to block builders as bundles. Searchers don't produce blocks. They compete to get included, and they pay builders (and through them, validators) a share of the profit, usually with a direct ETH transfer to &lt;code&gt;block.coinbase&lt;/code&gt;. Most of the money a searcher finds ends up paid to the builder, which is why the job is about speed, accuracy and a small edge, not about luck.&lt;/p&gt;

&lt;p&gt;People ask me what I actually do when I say I build MEV bots. The short answer is that I'm a searcher, and I write software for other searchers. "Searcher" is the job title Flashbots uses in &lt;a href="https://docs.flashbots.net/flashbots-auction/quick-start" rel="noopener noreferrer"&gt;its documentation&lt;/a&gt;: the bot operators who look for opportunities like arbitrage and liquidations. This article explains the role from the inside: what a searcher does all day, how searchers fit into the block supply chain, how they get paid and how people get started.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does an MEV searcher do?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A searcher watches the chain for moments where the order of transactions creates profit, then builds and sends the transactions that capture it before anyone else does.&lt;/strong&gt; MEV stands for maximal extractable value: the value that can be taken by including, excluding or reordering transactions in a block (&lt;a href="https://ethereum.org/en/developers/docs/mev/" rel="noopener noreferrer"&gt;ethereum.org overview&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;In practice a searcher's day looks like software engineering plus monitoring:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Ingest data.&lt;/strong&gt; New blocks, pending transactions from the public mempool, and hints from order flow auctions such as &lt;a href="https://docs.flashbots.net/flashbots-mev-share/searchers/getting-started" rel="noopener noreferrer"&gt;MEV-Share&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep state.&lt;/strong&gt; Pool reserves, tick data, lending positions and token balances, updated every block.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Search.&lt;/strong&gt; Run a strategy over that state to find a profitable trade, for example a price difference between two pools.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simulate.&lt;/strong&gt; Execute the candidate trade against the latest state to make sure it really pays after gas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Submit.&lt;/strong&gt; Package it as a bundle and send it to one or more block builders.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review.&lt;/strong&gt; Check what landed, what lost, and why. Then fix the bot.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The term itself goes back to the 2019 paper &lt;a href="https://arxiv.org/abs/1904.05234" rel="noopener noreferrer"&gt;"Flash Boys 2.0"&lt;/a&gt; by Daian and others, which documented bots fighting over arbitrage in public "priority gas auctions" by raising their gas prices again and again. Flashbots and private bundles came later, partly to move that competition off the public mempool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which strategies do MEV searchers run?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Most searchers specialize in one or two strategies, because each one needs its own data, contracts and tuning.&lt;/strong&gt; These are the common ones on Ethereum:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Strategy&lt;/th&gt;
&lt;th&gt;What the bot does&lt;/th&gt;
&lt;th&gt;Main skill needed&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;DEX arbitrage&lt;/td&gt;
&lt;td&gt;Buys on one pool and sells on another in one transaction&lt;/td&gt;
&lt;td&gt;Fast pricing across many pools and fee tiers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backrunning&lt;/td&gt;
&lt;td&gt;Trades right after a large swap that moved a price&lt;/td&gt;
&lt;td&gt;Reading pending transactions or MEV-Share hints&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Liquidations&lt;/td&gt;
&lt;td&gt;Repays unhealthy loans on Aave, Compound and similar protocols for a bonus&lt;/td&gt;
&lt;td&gt;Tracking positions and oracle updates&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sniping&lt;/td&gt;
&lt;td&gt;Buys a token in the first block it can be traded&lt;/td&gt;
&lt;td&gt;Detecting launches and filtering scams&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sandwiching&lt;/td&gt;
&lt;td&gt;Trades before and after a victim's swap&lt;/td&gt;
&lt;td&gt;Same as backrunning, but it harms users&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;I don't build sandwich bots and I don't recommend them. They take money directly from the user being sandwiched. The other strategies either keep prices in line across markets or clean up bad debt, and those are the ones worth building a business on. If you want the money side, I broke it down in &lt;a href="https://mevdao.org/blog/how-mev-bots-make-money-on-ethereum-and-who-keeps-the-profit" rel="noopener noreferrer"&gt;how MEV bots make money on Ethereum and who keeps the profit&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How is a searcher different from a builder and a validator?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Searchers find opportunities, builders assemble blocks from many searchers' bundles, and validators propose the block that pays them the most.&lt;/strong&gt; Since the Merge, most Ethereum blocks are produced through MEV-Boost, which separates these roles. I covered the mechanics in &lt;a href="https://mevdao.org/blog/what-is-mev-boost-builders-relays-and-proposers-explained" rel="noopener noreferrer"&gt;what is MEV-Boost: builders, relays and proposers explained&lt;/a&gt;.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;th&gt;What they do&lt;/th&gt;
&lt;th&gt;How they get paid&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Searcher&lt;/td&gt;
&lt;td&gt;Finds MEV and sends bundles&lt;/td&gt;
&lt;td&gt;Keeps whatever profit is left after paying the builder&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Builder&lt;/td&gt;
&lt;td&gt;Merges bundles and transactions into the most valuable block&lt;/td&gt;
&lt;td&gt;Keeps the difference between what it receives and what it bids&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Relay&lt;/td&gt;
&lt;td&gt;Passes blocks from builders to validators and checks them&lt;/td&gt;
&lt;td&gt;Usually not paid per block&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Validator (proposer)&lt;/td&gt;
&lt;td&gt;Picks the highest bid and proposes the block&lt;/td&gt;
&lt;td&gt;The winning builder's bid&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;You can see which builders win the most blocks on public dashboards like &lt;a href="https://mevboost.pics" rel="noopener noreferrer"&gt;mevboost.pics&lt;/a&gt;. That matters for a searcher, because sending a bundle to a builder that rarely wins blocks means it rarely lands.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do MEV searchers get paid?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A searcher keeps the profit from its own trade, minus gas and minus the payment it makes to the builder to win inclusion.&lt;/strong&gt; The standard pattern is a smart contract that does the trade, checks that it made money, and then sends part of it to &lt;code&gt;block.coinbase&lt;/code&gt;, the address receiving fees for that block. &lt;a href="https://docs.flashbots.net/flashbots-auction/advanced/coinbase-payment" rel="noopener noreferrer"&gt;Flashbots' coinbase payment docs&lt;/a&gt; show an example contract that requires its WETH balance to grow by more than the coinbase payment, so the whole transaction reverts if it doesn't make money.&lt;/p&gt;

&lt;p&gt;That design is the heart of the business:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No profit, no cost (mostly).&lt;/strong&gt; If the trade fails inside a bundle, the bundle isn't included and you don't pay gas for it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Competition sets your margin.&lt;/strong&gt; When two searchers see the same arbitrage, the one that pays the builder more usually wins. On popular opportunities, most of the profit ends up with the builder and the validator.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Edge comes from being different.&lt;/strong&gt; Searchers who earn consistently tend to find opportunities others miss, price them more accurately, or have lower costs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One detail from the same docs catches people out: sometimes &lt;code&gt;block.coinbase&lt;/code&gt; is a smart contract instead of a normal wallet, which makes the transfer cost more gas than many searchers expect.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do searchers send bundles to builders?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Searchers sign their bundles and send them over JSON-RPC to builder endpoints, such as the Flashbots relay at &lt;code&gt;https://relay.flashbots.net&lt;/code&gt;.&lt;/strong&gt; Per the &lt;a href="https://docs.flashbots.net/flashbots-auction/quick-start" rel="noopener noreferrer"&gt;Flashbots quick start&lt;/a&gt;, every request is signed with a separate authentication key. That key doesn't hold funds. It identifies you, builds reputation over time, and that reputation can help your bundles get handled during congestion. For testing, Flashbots runs a Sepolia endpoint at &lt;code&gt;https://relay-sepolia.flashbots.net&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Most serious searchers send the same bundle to several builders, since no single one wins every block. Before sending, they simulate with &lt;code&gt;eth_callBundle&lt;/code&gt; to catch reverts and check profit. I wrote practical guides on &lt;a href="https://mevdao.org/blog/flashbots-bundles-explained-how-to-send-eth-sendbundle-and-why-yours-isn-t-landi" rel="noopener noreferrer"&gt;sending bundles with eth_sendBundle and why they don't land&lt;/a&gt; and on &lt;a href="https://mevdao.org/blog/simulate-a-flashbots-bundle-with-eth-callbundle-2026" rel="noopener noreferrer"&gt;simulating a bundle with eth_callBundle&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you become an MEV searcher?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Start with one simple strategy, run it on a mainnet fork until it's correct, then go live with small size and study every loss.&lt;/strong&gt; This is the path I'd follow if I were starting today:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Learn the basics of the EVM and DEX math.&lt;/strong&gt; You need to read Solidity and calculate Uniswap V2 and V3 swap outputs without calling the chain.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Read open-source bots.&lt;/strong&gt; Flashbots' &lt;a href="https://github.com/flashbots/simple-arbitrage" rel="noopener noreferrer"&gt;simple-arbitrage&lt;/a&gt; is an old but clear TypeScript example of cross-DEX arbitrage. Paradigm's &lt;a href="https://github.com/paradigmxyz/artemis" rel="noopener noreferrer"&gt;Artemis&lt;/a&gt; is a Rust framework built around collectors, strategies and executors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pick one strategy.&lt;/strong&gt; Two-pool arbitrage or MEV-Share backrunning is a good first choice. I explained the second in &lt;a href="https://mevdao.org/blog/backrunning-bot-on-ethereum-first-mev-share-strategy" rel="noopener noreferrer"&gt;backrunning bot on Ethereum: a first MEV-Share strategy&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test on a fork.&lt;/strong&gt; Replay real blocks with Anvil so mistakes cost nothing. See &lt;a href="https://mevdao.org/blog/how-to-test-an-mev-bot-on-a-mainnet-fork-with-anvil" rel="noopener noreferrer"&gt;how to test an MEV bot on a mainnet fork with Anvil&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Go live small.&lt;/strong&gt; Use a fresh executor wallet, keep little ETH in the contract, and log everything.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Measure.&lt;/strong&gt; Track how many opportunities you saw, how many you sent, how many landed and what you paid the builder. Analytics sites like &lt;a href="https://eigenphi.io" rel="noopener noreferrer"&gt;EigenPhi&lt;/a&gt; show what competing bots earned on the same kinds of trades.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Join the community.&lt;/strong&gt; Flashbots points searchers to its Discord and a searcher self-support forum in the quick start docs.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Language choice matters less than people think at the start. Rust is common for speed-critical bots, which I covered in &lt;a href="https://mevdao.org/blog/rust-mev-bot-in-2026-the-alloy-reth-artemis-stack" rel="noopener noreferrer"&gt;Rust MEV bot in 2026: the Alloy, Reth and Artemis stack&lt;/a&gt;, but a correct TypeScript bot beats a buggy Rust one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is being an MEV searcher still worth it?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;It can be, but the easy opportunities are gone and most new searchers don't make money at first.&lt;/strong&gt; The obvious trades are taken by teams with fast infrastructure, so new searchers do better in niches: new protocols, long-tail tokens, other chains or order-flow sources. I went through the numbers and trade-offs in &lt;a href="https://mevdao.org/blog/is-mev-bot-arbitrage-still-profitable-in-2026" rel="noopener noreferrer"&gt;is MEV bot arbitrage still profitable in 2026?&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is an MEV searcher the same as an MEV bot?
&lt;/h3&gt;

&lt;p&gt;Mostly. The searcher is the person or team, and the MEV bot is the software they run. Flashbots uses "searcher" for the bot operator.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do MEV searchers need to run a validator?
&lt;/h3&gt;

&lt;p&gt;No. Searchers send bundles to builders, and builders deal with validators through MEV-Boost relays. You only need reliable node access and builder endpoints.&lt;/p&gt;

&lt;h3&gt;
  
  
  What programming languages do MEV searchers use?
&lt;/h3&gt;

&lt;p&gt;Rust, Go and TypeScript are the most common for the bot, with Solidity (sometimes hand-optimized) for the on-chain executor contract.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do searchers pay gas when their bundle fails?
&lt;/h3&gt;

&lt;p&gt;Not when the bundle simply isn't included. Builders drop bundles that revert, unless you mark a transaction as allowed to revert.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do MEV searchers find opportunities?
&lt;/h3&gt;

&lt;p&gt;They keep a live copy of pool and protocol state, read new blocks, pending transactions and MEV-Share hints, and run strategies that search for profitable trades on every update.&lt;/p&gt;

&lt;h2&gt;
  
  
  Related guides
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mevdao.org/blog/mev-bot-meaning-60-terms-every-searcher-should-know" rel="noopener noreferrer"&gt;MEV bot meaning: 60 terms every searcher should know&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mevdao.org/blog/how-to-create-a-mev-bot-from-mempool-to-first-bundle" rel="noopener noreferrer"&gt;How to create a MEV bot: from mempool to first bundle&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mevdao.org/blog/what-is-mev-share-how-flashbots-pays-users-back-for-their-order-flow" rel="noopener noreferrer"&gt;What is MEV-Share? How Flashbots pays users back for their order flow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mevdao.org/blog/how-to-hire-an-mev-bot-developer-scope-red-flags" rel="noopener noreferrer"&gt;How to hire an MEV bot developer: scope and red flags&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Being a searcher is mostly patient engineering: better data, better simulation, and honest review of every lost bundle. If you'd rather have a bot built for a specific strategy, that's what I do through &lt;a href="https://mevdao.org/blog/custom-mev-bot-development-hire-an-ethereum-mev-bot-developer" rel="noopener noreferrer"&gt;custom MEV bot development&lt;/a&gt; at MEV DAO.&lt;/p&gt;

</description>
      <category>ethereum</category>
      <category>blockchain</category>
      <category>web3</category>
      <category>mev</category>
    </item>
    <item>
      <title>Ethereum MEV Bot Engineering: Atomic DEX Arbitrage, Aave V3 Liquidations &amp; Scam Bot Detection</title>
      <dc:creator>MEV DAO</dc:creator>
      <pubDate>Sun, 25 Oct 2026 13:53:49 +0000</pubDate>
      <link>https://dev.to/mevdao/ethereum-mev-bot-engineering-atomic-dex-arbitrage-aave-v3-liquidations-scam-bot-detection-5c4k</link>
      <guid>https://dev.to/mevdao/ethereum-mev-bot-engineering-atomic-dex-arbitrage-aave-v3-liquidations-scam-bot-detection-5c4k</guid>
      <description>&lt;p&gt;Real Ethereum MEV bots—whether atomic DEX arbitrage contracts, JIT liquidity engines, or Aave V3 / Morpho Blue liquidation searchers—are built as custom Rust/Go mempool engines paired with gas-optimized Solidity/Yul executor contracts that pay 85%–98% of gross profit to block builders via &lt;code&gt;block.coinbase.transfer&lt;/code&gt;. Meanwhile, thousands of developers lose ETH every month to fake YouTube "Remix IDE ChatGPT Solidity MEV bot" scams that hide obfuscated attacker payout addresses.&lt;/p&gt;

&lt;p&gt;This technical reference from &lt;a href="https://mevdao.org" rel="noopener noreferrer"&gt;MEV DAO&lt;/a&gt; documents real searcher economics, custom MEV bot architecture, and open-source scam bytecode detection.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture &amp;amp; Execution Checklist
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Local Node / Mempool Stream] ---&amp;gt; [Foundry Anvil eth_call Simulation]
                                          |
                                          v
[X-Flashbots-Signature Auth]  ---&amp;gt; [eth_sendBundle -&amp;gt; Block Builders]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Key technical invariants to verify before broadcasting:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Simulate state transitions at &lt;code&gt;block.number + 1&lt;/code&gt;&lt;/strong&gt; using &lt;code&gt;eth_callBundle&lt;/code&gt; or a pinned Foundry &lt;code&gt;anvil --fork-url&lt;/code&gt; environment before signing live bundles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compute effective bundle gas price (&lt;code&gt;effectiveGasPrice&lt;/code&gt;)&lt;/strong&gt; across all transactions in the bundle, including &lt;code&gt;0&lt;/code&gt;-gas sponsored victim transactions, and ensure it exceeds the target block's tail gas price.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-builder fan-out:&lt;/strong&gt; Submit time-sensitive bundles simultaneously to &lt;code&gt;relay.flashbots.net&lt;/code&gt;, Titan Builder, Beaverbuild, and Rsync Builder so you don't miss slots built by non-Flashbots relays.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Complete Technical Guides &amp;amp; Deep-Dive Runbooks in This Series
&lt;/h2&gt;

&lt;p&gt;Below is the complete index of technical deep-dives, runnable Solidity/TypeScript templates, and step-by-step troubleshooting guides in this cluster:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/how-mev-bots-make-money-on-ethereum-and-who-keeps-the-profit" rel="noopener noreferrer"&gt;How MEV Bots Make Money on Ethereum (and Who Keeps the Profit)&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;how do mev bots make money&lt;/code&gt;: Arbitrage, liquidations, backruns, sandwiches and the long tail: where MEV bot profit comes from, and why most of it ends up with block builders.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/how-liquidation-bots-work-on-aave-and-why-they-re-hard-to-win" rel="noopener noreferrer"&gt;How Liquidation Bots Work on Aave (and Why They're Hard to Win)&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;aave liquidation bot&lt;/code&gt;: How Aave liquidation bots find positions below health factor 1, fund the repayment with flash loans, and compete on oracle updates, gas and builder bids.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/custom-mev-bot-development-what-to-know-before-you-hire" rel="noopener noreferrer"&gt;Custom MEV Bot Development: What to Know Before You Hire&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;custom mev bot development&lt;/code&gt;: Planning custom MEV bot development? Learn what architecture specs to bring a developer, realistic costs and timelines, and how to spot scammer red flags.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/custom-mev-bot-development-hire-an-ethereum-mev-bot-developer" rel="noopener noreferrer"&gt;Custom MEV Bot Development: Hire an Ethereum MEV Bot Developer&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;hire mev bot developer&lt;/code&gt;: How to hire an MEV bot developer: what custom work covers, what to bring to the brief, how projects are structured, pricing drivers and red flags.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/mev-bot-for-sale-what-s-real-what-s-a-scam-and-what-it-should-cost" rel="noopener noreferrer"&gt;MEV Bot for Sale? What's Real, What's a Scam, and What It Should Cost&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;mev bot for sale&lt;/code&gt;: Thinking of buying an MEV bot for sale? Learn which offers are Remix scams, real operating costs, and a 7-step checklist before you pay anyone.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/mev-bot-development-cost-custom-pricing-in-2026" rel="noopener noreferrer"&gt;MEV Bot Development Cost: Custom Pricing in 2026&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;mev bot development cost&lt;/code&gt;: Real MEV bot development cost ranges in 2026: what custom Ethereum arbitrage, liquidation, and sniper bots cost to build, run, and maintain.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/mev-bot-ethereum-github-best-open-source-repos-2026" rel="noopener noreferrer"&gt;MEV Bot Ethereum GitHub: Best Open-Source Repos (2026)&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;mev bot ethereum github&lt;/code&gt;: Best open-source MEV bot Ethereum GitHub repos in 2026: Paradigm Artemis, Flashbots simple-arbitrage, mevdao-org reference code, and gaps.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/rust-mev-bot-in-2026-the-alloy-reth-artemis-stack" rel="noopener noreferrer"&gt;Rust MEV Bot in 2026: The Alloy, Reth &amp;amp; Artemis Stack&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;rust mev bot&lt;/code&gt;: How to build a Rust MEV bot on Ethereum in 2026: migrating from ethers-rs to Alloy, embedded revm simulation, Reth execution extensions (ExEx), and Artemis.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/how-to-hire-an-mev-bot-developer-scope-red-flags" rel="noopener noreferrer"&gt;How to Hire an MEV Bot Developer: Scope &amp;amp; Red Flags&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;flashbots searcher developer&lt;/code&gt;: Hiring a Flashbots searcher developer or MEV engineer? Scope custom Ethereum bots, spot Fiverr scams, and use our 7 technical interview questions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/how-to-build-a-polymarket-arbitrage-bot-step-by-step" rel="noopener noreferrer"&gt;How to Build a Polymarket Arbitrage Bot (Step by Step)&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;polymarket arbitrage bot&lt;/code&gt;: Step-by-step guide to building a Polymarket arbitrage bot in 2026: CTF Conditional Tokens, CLOB WebSockets, YES+NO&amp;lt;1 rebalancing, and execution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/liquidation-bot-development-compound-morpho-spark" rel="noopener noreferrer"&gt;Liquidation Bot Development: Compound, Morpho &amp;amp; Spark&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;liquidation bot development&lt;/code&gt;: Guide to Ethereum liquidation bot development in 2026: why Aave V3 is hyper-crowded and how searchers win liquidations on Morpho Blue, Compound V3, and Spark.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/is-mev-bot-arbitrage-still-profitable-in-2026" rel="noopener noreferrer"&gt;Is MEV Bot Arbitrage Still Profitable in 2026?&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;is mev bot profitable&lt;/code&gt;: Is an MEV bot still profitable in 2026? Real Ethereum MEV arbitrage profit margins, builder tip competition, and which niches actually make money today.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/mev-bot-meaning-60-terms-every-searcher-should-know" rel="noopener noreferrer"&gt;MEV Bot Meaning: 60 Terms Every Searcher Should Know&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;mev bot meaning&lt;/code&gt;: What is the meaning of an MEV bot? A complete 60-term Ethereum MEV searcher glossary covering Flashbots, PBS, Block 0 sniping, EIP-7702, and MEV protection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/are-mev-bots-legal-legit-real-profits-vs-scams-2026" rel="noopener noreferrer"&gt;Are MEV Bots Legal &amp;amp; Legit? Real Profits vs Scams (2026)&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;are mev bots legal&lt;/code&gt;: Are MEV bots legal and legit in 2026? We separate legal DEX arbitrage and liquidations from exploits, fake bot scams, and how to beat MEV bots.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/how-to-create-a-mev-bot-from-mempool-to-first-bundle" rel="noopener noreferrer"&gt;How to Create a MEV Bot: From Mempool to First Bundle&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;how to create a mev bot&lt;/code&gt;: How to create a MEV bot on Ethereum in 2026: node setup, Solidity flash-swap executor, eth_callBundle simulation, and real arbitrage margins.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Open-Source Reference Repositories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/eip-7702-delegation-checker-revoker" rel="noopener noreferrer"&gt;eip-7702-delegation-checker-revoker&lt;/a&gt; — CLI to inspect &lt;code&gt;0xef0100&lt;/code&gt; delegation designators and clear malicious EIP-7702 delegates.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/compromised-wallet-sweeper-rescue" rel="noopener noreferrer"&gt;compromised-wallet-sweeper-rescue&lt;/a&gt; — Atomic &lt;code&gt;eth_sendBundle&lt;/code&gt; sponsor + asset transfer rescue template.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/flashbots-bundle-simulator-anvil" rel="noopener noreferrer"&gt;flashbots-bundle-simulator-anvil&lt;/a&gt; — Reproducible Foundry Anvil harness for bundle debugging.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/solidity-mev-bot-scam-detector" rel="noopener noreferrer"&gt;solidity-mev-bot-scam-detector&lt;/a&gt; — Static analyzer to detect obfuscated YouTube/Remix MEV bot drainer contracts.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/ethereum-sniper-bot-flashbots" rel="noopener noreferrer"&gt;ethereum-sniper-bot-flashbots&lt;/a&gt; — Same-block Uniswap V2/V3 bundle execution and pre-trade honeypot simulation reference.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/mev-arbitrage-and-liquidation-reference" rel="noopener noreferrer"&gt;mev-arbitrage-and-liquidation-reference&lt;/a&gt; — Atomic two-pool arbitrage &amp;amp; Aave V3 &lt;code&gt;liquidationCall&lt;/code&gt; executor with builder coinbase bribe math.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For production Ethereum sniping, compromised-wallet rescues, or custom MEV engineering, visit &lt;a href="https://mevdao.org" rel="noopener noreferrer"&gt;MEV DAO&lt;/a&gt; or start a &lt;a href="https://mevdao.org/subscribe" rel="noopener noreferrer"&gt;3-day trial&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ethereum</category>
      <category>solidity</category>
      <category>rust</category>
      <category>defi</category>
    </item>
    <item>
      <title>Flashbots Bundles &amp; Private RPC Engineering Guide: eth_sendBundle, mev_sendBundle &amp; Anvil Fork Testing</title>
      <dc:creator>MEV DAO</dc:creator>
      <pubDate>Sun, 25 Oct 2026 13:53:17 +0000</pubDate>
      <link>https://dev.to/mevdao/flashbots-bundles-private-rpc-engineering-guide-ethsendbundle-mevsendbundle-anvil-fork-3imb</link>
      <guid>https://dev.to/mevdao/flashbots-bundles-private-rpc-engineering-guide-ethsendbundle-mevsendbundle-anvil-fork-3imb</guid>
      <description>&lt;p&gt;Whether you are building an atomic rescue script, a backrun searcher, or a private swap router, understanding the difference between user-facing private RPCs (&lt;code&gt;rpc.flashbots.net&lt;/code&gt;, &lt;code&gt;rpc.mevblocker.io&lt;/code&gt;) and searcher bundle relays (&lt;code&gt;relay.flashbots.net&lt;/code&gt; via &lt;code&gt;eth_sendBundle&lt;/code&gt; / &lt;code&gt;mev_sendBundle&lt;/code&gt;) is essential.&lt;/p&gt;

&lt;p&gt;This engineering guide synthesizes our &lt;a href="https://mevdao.org" rel="noopener noreferrer"&gt;MEV DAO&lt;/a&gt; benchmarks, troubleshooting checklists, and Foundry &lt;code&gt;anvil --fork-url&lt;/code&gt; simulation workflows across every part of the Ethereum PBS (Proposer-Builder Separation) pipeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture &amp;amp; Execution Checklist
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Local Node / Mempool Stream] ---&amp;gt; [Foundry Anvil eth_call Simulation]
                                          |
                                          v
[X-Flashbots-Signature Auth]  ---&amp;gt; [eth_sendBundle -&amp;gt; Block Builders]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Key technical invariants to verify before broadcasting:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Simulate state transitions at &lt;code&gt;block.number + 1&lt;/code&gt;&lt;/strong&gt; using &lt;code&gt;eth_callBundle&lt;/code&gt; or a pinned Foundry &lt;code&gt;anvil --fork-url&lt;/code&gt; environment before signing live bundles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compute effective bundle gas price (&lt;code&gt;effectiveGasPrice&lt;/code&gt;)&lt;/strong&gt; across all transactions in the bundle, including &lt;code&gt;0&lt;/code&gt;-gas sponsored victim transactions, and ensure it exceeds the target block's tail gas price.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-builder fan-out:&lt;/strong&gt; Submit time-sensitive bundles simultaneously to &lt;code&gt;relay.flashbots.net&lt;/code&gt;, Titan Builder, Beaverbuild, and Rsync Builder so you don't miss slots built by non-Flashbots relays.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Complete Technical Guides &amp;amp; Deep-Dive Runbooks in This Series
&lt;/h2&gt;

&lt;p&gt;Below is the complete index of technical deep-dives, runnable Solidity/TypeScript templates, and step-by-step troubleshooting guides in this cluster:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/flashbots-bundles-explained-how-to-send-eth-sendbundle-and-why-yours-isn-t-landi" rel="noopener noreferrer"&gt;Flashbots Bundles Explained: How to Send eth_sendBundle and Why Yours Isn't Landing&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;flashbots bundle&lt;/code&gt;: How Flashbots bundles work, how to send one with eth_sendBundle, and a checklist for the 5 reasons a bundle doesn't get included on Ethereum.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/what-is-a-sandwich-attack-how-to-avoid-getting-sandwiched" rel="noopener noreferrer"&gt;What Is a Sandwich Attack? How to Avoid Getting Sandwiched&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;how to avoid sandwich attacks&lt;/code&gt;: A worked example of a sandwich attack on a Uniswap swap, why your slippage setting is the attacker's budget, and five ways to stop getting sandwiched.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/flashbots-protect-vs-mev-blocker-which-private-rpc-should-you-use" rel="noopener noreferrer"&gt;Flashbots Protect vs MEV Blocker: Which Private RPC Should You Use?&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;flashbots protect vs mev blocker&lt;/code&gt;: Flashbots Protect and MEV Blocker both hide your swaps from sandwich bots. How their endpoints, refunds, revert protection and privacy settings differ.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/how-to-test-an-mev-bot-on-a-mainnet-fork-with-anvil" rel="noopener noreferrer"&gt;How to Test an MEV Bot on a Mainnet Fork With Anvil&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;anvil fork mainnet&lt;/code&gt;: Fork mainnet at a past block with Anvil, impersonate whales, control mining and replay real MEV opportunities to test your bot before risking real ETH.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/simulate-a-flashbots-bundle-with-eth-callbundle-2026" rel="noopener noreferrer"&gt;Simulate a Flashbots Bundle With eth_callBundle (2026)&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;simulate flashbots bundle&lt;/code&gt;: How to simulate a Flashbots bundle with eth_callBundle on Ethereum: JSON-RPC payload format, coinbaseDiff profit checks, revert debugging, and Go/TS examples.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/front-running-bot-crypto-mempool-gas-wars-defenses" rel="noopener noreferrer"&gt;Front-Running Bot Crypto: Mempool, Gas Wars &amp;amp; Defenses&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;front running bot crypto&lt;/code&gt;: How a front running bot crypto searcher works on Ethereum: mempool monitoring, generalized front-runners, sandwich attacks, scams, and defenses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/backrunning-bot-on-ethereum-first-mev-share-strategy" rel="noopener noreferrer"&gt;Backrunning Bot on Ethereum: First MEV-Share Strategy&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;backrunning bot&lt;/code&gt;: Build a profitable backrunning bot on Ethereum in 2026: how atomic DEX backruns and mev-share backrun orderflow auctions work without front-running users.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/what-is-mev-protection-on-ethereum-should-you-use-it" rel="noopener noreferrer"&gt;What Is MEV Protection on Ethereum &amp;amp; Should You Use It?&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;what is mev protection&lt;/code&gt;: What is MEV protection on Ethereum, how does it stop sandwich attacks, does Uniswap have MEV protection, and when should snipers turn it on?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Open-Source Reference Repositories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/eip-7702-delegation-checker-revoker" rel="noopener noreferrer"&gt;eip-7702-delegation-checker-revoker&lt;/a&gt; — CLI to inspect &lt;code&gt;0xef0100&lt;/code&gt; delegation designators and clear malicious EIP-7702 delegates.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/compromised-wallet-sweeper-rescue" rel="noopener noreferrer"&gt;compromised-wallet-sweeper-rescue&lt;/a&gt; — Atomic &lt;code&gt;eth_sendBundle&lt;/code&gt; sponsor + asset transfer rescue template.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/flashbots-bundle-simulator-anvil" rel="noopener noreferrer"&gt;flashbots-bundle-simulator-anvil&lt;/a&gt; — Reproducible Foundry Anvil harness for bundle debugging.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/solidity-mev-bot-scam-detector" rel="noopener noreferrer"&gt;solidity-mev-bot-scam-detector&lt;/a&gt; — Static analyzer to detect obfuscated YouTube/Remix MEV bot drainer contracts.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/ethereum-sniper-bot-flashbots" rel="noopener noreferrer"&gt;ethereum-sniper-bot-flashbots&lt;/a&gt; — Same-block Uniswap V2/V3 bundle execution and pre-trade honeypot simulation reference.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/mev-arbitrage-and-liquidation-reference" rel="noopener noreferrer"&gt;mev-arbitrage-and-liquidation-reference&lt;/a&gt; — Atomic two-pool arbitrage &amp;amp; Aave V3 &lt;code&gt;liquidationCall&lt;/code&gt; executor with builder coinbase bribe math.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For production Ethereum sniping, compromised-wallet rescues, or custom MEV engineering, visit &lt;a href="https://mevdao.org" rel="noopener noreferrer"&gt;MEV DAO&lt;/a&gt; or start a &lt;a href="https://mevdao.org/subscribe" rel="noopener noreferrer"&gt;3-day trial&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ethereum</category>
      <category>web3</category>
      <category>tutorial</category>
      <category>solidity</category>
    </item>
    <item>
      <title>Ethereum Sniper Bot Architecture: Block-0 Flashbots Execution, Honeypot Simulation &amp; Fee Math</title>
      <dc:creator>MEV DAO</dc:creator>
      <pubDate>Sun, 25 Oct 2026 13:44:51 +0000</pubDate>
      <link>https://dev.to/mevdao/ethereum-sniper-bot-architecture-block-0-flashbots-execution-honeypot-simulation-fee-math-1k2d</link>
      <guid>https://dev.to/mevdao/ethereum-sniper-bot-architecture-block-0-flashbots-execution-honeypot-simulation-fee-math-1k2d</guid>
      <description>&lt;p&gt;Same-block (&lt;code&gt;Block-0&lt;/code&gt;) token sniping on Ethereum requires monitoring pending liquidity additions (&lt;code&gt;addLiquidityETH&lt;/code&gt;, &lt;code&gt;enableTrading&lt;/code&gt;, or Uniswap V3/V4 pool initialization), simulating buy-and-sell execution paths locally via &lt;code&gt;eth_call&lt;/code&gt; / &lt;code&gt;debug_traceCall&lt;/code&gt; to filter out honeypots and dynamic tax traps, and submitting an atomic &lt;a href="https://mevdao.org/blog/flashbots-bundles-explained-how-to-send-eth-sendbundle-and-why-yours-isn-t-landi" rel="noopener noreferrer"&gt;Flashbots bundle&lt;/a&gt; directly to block builders (&lt;code&gt;relay.flashbots.net&lt;/code&gt;, Titan, Beaverbuild, Rsync).&lt;/p&gt;

&lt;p&gt;This engineering handbook covers the full execution stack, anti-snipe contract defenses, and why &lt;a href="https://mevdao.org" rel="noopener noreferrer"&gt;MEV DAO&lt;/a&gt; uses flat-fee execution (&lt;code&gt;€200/month&lt;/code&gt; with a &lt;a href="https://mevdao.org/subscribe" rel="noopener noreferrer"&gt;3-day trial&lt;/a&gt;) instead of charging a &lt;code&gt;1%&lt;/code&gt; per-trade tax on every buy and sell.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture &amp;amp; Execution Checklist
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Local Node / Mempool Stream] ---&amp;gt; [Foundry Anvil eth_call Simulation]
                                          |
                                          v
[X-Flashbots-Signature Auth]  ---&amp;gt; [eth_sendBundle -&amp;gt; Block Builders]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Key technical invariants to verify before broadcasting:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Simulate state transitions at &lt;code&gt;block.number + 1&lt;/code&gt;&lt;/strong&gt; using &lt;code&gt;eth_callBundle&lt;/code&gt; or a pinned Foundry &lt;code&gt;anvil --fork-url&lt;/code&gt; environment before signing live bundles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compute effective bundle gas price (&lt;code&gt;effectiveGasPrice&lt;/code&gt;)&lt;/strong&gt; across all transactions in the bundle, including &lt;code&gt;0&lt;/code&gt;-gas sponsored victim transactions, and ensure it exceeds the target block's tail gas price.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-builder fan-out:&lt;/strong&gt; Submit time-sensitive bundles simultaneously to &lt;code&gt;relay.flashbots.net&lt;/code&gt;, Titan Builder, Beaverbuild, and Rsync Builder so you don't miss slots built by non-Flashbots relays.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Complete Technical Guides &amp;amp; Deep-Dive Runbooks in This Series
&lt;/h2&gt;

&lt;p&gt;Below is the complete index of technical deep-dives, runnable Solidity/TypeScript templates, and step-by-step troubleshooting guides in this cluster:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/how-ethereum-sniper-bots-work-same-block-buys-with-flashbots-and-the-real-risks" rel="noopener noreferrer"&gt;How Ethereum Sniper Bots Work: Same-Block Buys With Flashbots (and the Real Risks)&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;ethereum sniper bot&lt;/code&gt;: How crypto sniper bots buy new tokens in the same block liquidity is added: mempool watching, Flashbots bundles, bribes, and the honeypots that catch snipers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/honeypot-tokens-how-to-spot-one-before-you-buy" rel="noopener noreferrer"&gt;Honeypot Tokens: How to Spot One Before You Buy&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;how to detect honeypot token&lt;/code&gt;: How honeypot tokens block sells with blacklists, 100% taxes and hidden owner switches, and the checks I run before buying a new token on Ethereum.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/anti-snipe-token-launches-taxes-blacklists-and-trading-delays" rel="noopener noreferrer"&gt;Anti-Snipe Token Launches: Taxes, Blacklists and Trading Delays&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;anti sniper bot token launch&lt;/code&gt;: Launch taxes, first-block blacklists, max wallet, cooldowns and Uniswap v4 hooks: how anti-snipe token launches work and how sniper bots deal with each.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/ethereum-sniper-bot-flashbots-same-block-sniping-on-uniswap" rel="noopener noreferrer"&gt;Ethereum Sniper Bot: Flashbots Same-Block Sniping on Uniswap&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;flashbots sniper bot&lt;/code&gt;: How a Flashbots sniper bot buys a new Uniswap token in the same block: v2/v3/v4 launch patterns, Block-0 vs Block-1, bribes, settings and the risks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/crypto-sniping-group-on-telegram-mev-dao-premium-sniping-group" rel="noopener noreferrer"&gt;Crypto Sniping Group on Telegram: MEV DAO Premium Sniping Group&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;crypto sniping group telegram&lt;/code&gt;: How to judge a crypto sniping group on Telegram: free calls vs real sniping, pump-and-dumps, fake Safeguard bots, and a pre-trade checklist.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/banana-gun-alternatives-for-ethereum-flat-fee-sniping-vs-1-per-trade" rel="noopener noreferrer"&gt;Banana Gun Alternatives for Ethereum: Flat-Fee Sniping vs 1% Per Trade&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;banana gun alternatives for ethereum flat fee sniping vs 1 per trade&lt;/code&gt;: Banana Gun alternatives on Ethereum compared: Maestro, Sigma, flat-fee and custom bots, by fees, key custody and how they land snipes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/best-eth-sniper-bot-in-2026-fees-speed-key-custody" rel="noopener noreferrer"&gt;Best ETH Sniper Bot in 2026: Fees, Speed &amp;amp; Key Custody&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;best eth sniper bot&lt;/code&gt;: Compare the best ETH sniper bot options in 2026 across fees, speed, and key custody: Banana Gun, Maestro, open-source scripts, and MEV DAO.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/banana-gun-vs-maestro-vs-mev-dao-eth-sniping-compared" rel="noopener noreferrer"&gt;Banana Gun vs Maestro vs MEV DAO: ETH Sniping Compared&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;banana gun vs maestro&lt;/code&gt;: Banana Gun vs Maestro vs MEV DAO compared on Ethereum mainnet: 1% per-trade fees vs flat-fee sniping, block-0 bundle speed, router safety, and key custody.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/banana-gun-fees-vs-telegram-sniper-bot-fees-2026" rel="noopener noreferrer"&gt;Banana Gun Fees vs Telegram Sniper Bot Fees (2026)&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;banana gun fees&lt;/code&gt;: Banana Gun fees vs Maestro fees and other Telegram sniper bot fees compared: what 1% per trade really costs on Ethereum vs flat-fee Flashbots sniping.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/are-telegram-trading-bots-safe-key-custody-hacks" rel="noopener noreferrer"&gt;Are Telegram Trading Bots Safe? Key Custody &amp;amp; Hacks&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;are telegram trading bots safe&lt;/code&gt;: Are Telegram trading bots safe in 2026? How key custody works in Banana Gun, Maestro, and Unibot, past router exploits, and how to snipe without losing keys.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/block-0-sniper-explained-same-block-token-launch-buys" rel="noopener noreferrer"&gt;Block 0 Sniper Explained: Same-Block Token Launch Buys&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;block 0 sniper&lt;/code&gt;: How a block 0 sniper works on Ethereum: bundling same-block buys behind addLiquidity or enableTrading via Flashbots, builder tips, and anti-snipe defenses.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/meme-coin-sniper-bot-on-ethereum-setup-risks" rel="noopener noreferrer"&gt;Meme Coin Sniper Bot on Ethereum: Setup &amp;amp; Risks&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;meme coin sniper bot ethereum&lt;/code&gt;: How to configure a meme coin sniper bot on Ethereum in 2026: Flashbots block-0 settings, max-wallet limits, honeypot simulation, and avoiding rug pulls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/is-a-sniper-bot-worth-it-are-sniper-bots-profitable" rel="noopener noreferrer"&gt;Is a Sniper Bot Worth It? Are Sniper Bots Profitable&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;is a sniper bot worth it&lt;/code&gt;: Is a sniper bot worth it on Ethereum in 2026? See on-chain profitability data, why 74% of blind snipes lose, and how winning searchers filter.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/ethereum-sniper-bot-github-open-source-vs-paid-bots" rel="noopener noreferrer"&gt;Ethereum Sniper Bot GitHub: Open-Source vs Paid Bots&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;ethereum sniper bot github&lt;/code&gt;: Reviewing Ethereum sniper bot GitHub repos vs paid bots in 2026: Uniswap V2/V3 sniper code, what free scripts miss, and how to spot malicious GitHub drainers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/crypto-sniping-group-telegram-legit-vs-dump-groups" rel="noopener noreferrer"&gt;Crypto Sniping Group Telegram: Legit vs Dump Groups&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;ethereum calls telegram group&lt;/code&gt;: Joining an Ethereum calls Telegram group or crypto sniping group? Spot exit-liquidity pump rooms vs verified contract audits and Flashbots snipes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/mempool-sniper-bot-pending-tx-snipes-vs-private-bundles" rel="noopener noreferrer"&gt;Mempool Sniper Bot: Pending-Tx Snipes vs Private Bundles&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;mempool sniper bot&lt;/code&gt;: How an Ethereum mempool sniper bot works in 2026: watching pending liquidity transactions vs. private Flashbots bundles, and how to win Block 0 launches.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/eth-copy-trading-bot-how-wallet-tracking-snipes-work" rel="noopener noreferrer"&gt;ETH Copy Trading Bot: How Wallet-Tracking Snipes Work&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;eth copy trading bot&lt;/code&gt;: How an ETH copy trading bot works on Ethereum in 2026: mempool vs. confirmed-block wallet tracking, avoiding copy-trade bait traps, and Flashbots execution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/uniswap-v4-sniper-hooks-what-changes-for-launch-bots" rel="noopener noreferrer"&gt;Uniswap V4 Sniper: Hooks &amp;amp; What Changes for Launch Bots&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;uniswap v4 sniper&lt;/code&gt;: How a Uniswap V4 sniper bot works on Ethereum in 2026: PoolManager singleton architecture, flash accounting, beforeSwap hooks, and dynamic launch-tax evasion.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/anti-snipe-token-tax-blacklist-detection-for-snipers" rel="noopener noreferrer"&gt;Anti-Snipe Token Tax &amp;amp; Blacklist Detection for Snipers&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;anti snipe token&lt;/code&gt;: Run anti snipe token and token tax checker diagnostics in 60 seconds by inspecting Solidity modifiers, dynamic fee hooks, and blacklist mappings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/sniper-bot-gas-settings-priority-fees-builder-tips" rel="noopener noreferrer"&gt;Sniper Bot Gas Settings: Priority Fees &amp;amp; Builder Tips&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;sniper bot gas settings&lt;/code&gt;: Master sniper bot gas settings and priority fee sniping on Ethereum: EIP-1559 maxPriorityFeePerGas, block.coinbase builder bribes, and bundles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/how-to-use-banana-gun-on-ethereum-vs-flat-fee-sniping" rel="noopener noreferrer"&gt;How to Use Banana Gun on Ethereum vs Flat-Fee Sniping&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;how to use banana gun&lt;/code&gt;: How to use Banana Gun on Ethereum in 2026: how it works, 1% auto-snipe fee math, builder bribes, and when flat-fee Flashbots sniping costs less.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Open-Source Reference Repositories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/eip-7702-delegation-checker-revoker" rel="noopener noreferrer"&gt;eip-7702-delegation-checker-revoker&lt;/a&gt; — CLI to inspect &lt;code&gt;0xef0100&lt;/code&gt; delegation designators and clear malicious EIP-7702 delegates.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/compromised-wallet-sweeper-rescue" rel="noopener noreferrer"&gt;compromised-wallet-sweeper-rescue&lt;/a&gt; — Atomic &lt;code&gt;eth_sendBundle&lt;/code&gt; sponsor + asset transfer rescue template.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/flashbots-bundle-simulator-anvil" rel="noopener noreferrer"&gt;flashbots-bundle-simulator-anvil&lt;/a&gt; — Reproducible Foundry Anvil harness for bundle debugging.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/solidity-mev-bot-scam-detector" rel="noopener noreferrer"&gt;solidity-mev-bot-scam-detector&lt;/a&gt; — Static analyzer to detect obfuscated YouTube/Remix MEV bot drainer contracts.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/ethereum-sniper-bot-flashbots" rel="noopener noreferrer"&gt;ethereum-sniper-bot-flashbots&lt;/a&gt; — Same-block Uniswap V2/V3 bundle execution and pre-trade honeypot simulation reference.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/mev-arbitrage-and-liquidation-reference" rel="noopener noreferrer"&gt;mev-arbitrage-and-liquidation-reference&lt;/a&gt; — Atomic two-pool arbitrage &amp;amp; Aave V3 &lt;code&gt;liquidationCall&lt;/code&gt; executor with builder coinbase bribe math.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For production Ethereum sniping, compromised-wallet rescues, or custom MEV engineering, visit &lt;a href="https://mevdao.org" rel="noopener noreferrer"&gt;MEV DAO&lt;/a&gt; or start a &lt;a href="https://mevdao.org/subscribe" rel="noopener noreferrer"&gt;3-day trial&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ethereum</category>
      <category>defi</category>
      <category>trading</category>
      <category>web3</category>
    </item>
    <item>
      <title>Ethereum Compromised Wallet &amp; EIP-7702 Sweeper Rescue Handbook (2026 Reference)</title>
      <dc:creator>MEV DAO</dc:creator>
      <pubDate>Sun, 25 Oct 2026 13:44:36 +0000</pubDate>
      <link>https://dev.to/mevdao/ethereum-compromised-wallet-eip-7702-sweeper-rescue-handbook-2026-reference-1nc5</link>
      <guid>https://dev.to/mevdao/ethereum-compromised-wallet-eip-7702-sweeper-rescue-handbook-2026-reference-1nc5</guid>
      <description>&lt;p&gt;When an Ethereum private key or seed phrase leaks, automated sweeper bots monitor the address and drain any incoming ETH within milliseconds—long before you can broadcast a standard &lt;code&gt;transfer&lt;/code&gt; or &lt;code&gt;revoke&lt;/code&gt; transaction. Since the May 2025 Pectra upgrade (&lt;code&gt;EIP-7702&lt;/code&gt;, transaction type &lt;code&gt;0x04&lt;/code&gt;), attackers also attach persistent &lt;code&gt;0xef0100 || delegate_address&lt;/code&gt; bytecode directly to externally owned accounts (EOAs), executing malicious &lt;code&gt;receive()&lt;/code&gt; hooks inside the funding call itself.&lt;/p&gt;

&lt;p&gt;This technical reference compiles the complete atomic Flashbots bundle (&lt;code&gt;eth_sendBundle&lt;/code&gt;) rescue architecture, EIP-7702 delegation clearing workflow, and protocol-specific recovery runbooks maintained by &lt;a href="https://mevdao.org" rel="noopener noreferrer"&gt;MEV DAO&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture &amp;amp; Execution Checklist
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Local Node / Mempool Stream] ---&amp;gt; [Foundry Anvil eth_call Simulation]
                                          |
                                          v
[X-Flashbots-Signature Auth]  ---&amp;gt; [eth_sendBundle -&amp;gt; Block Builders]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Key technical invariants to verify before broadcasting:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Simulate state transitions at &lt;code&gt;block.number + 1&lt;/code&gt;&lt;/strong&gt; using &lt;code&gt;eth_callBundle&lt;/code&gt; or a pinned Foundry &lt;code&gt;anvil --fork-url&lt;/code&gt; environment before signing live bundles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compute effective bundle gas price (&lt;code&gt;effectiveGasPrice&lt;/code&gt;)&lt;/strong&gt; across all transactions in the bundle, including &lt;code&gt;0&lt;/code&gt;-gas sponsored victim transactions, and ensure it exceeds the target block's tail gas price.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-builder fan-out:&lt;/strong&gt; Submit time-sensitive bundles simultaneously to &lt;code&gt;relay.flashbots.net&lt;/code&gt;, Titan Builder, Beaverbuild, and Rsync Builder so you don't miss slots built by non-Flashbots relays.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Complete Technical Guides &amp;amp; Deep-Dive Runbooks in This Series
&lt;/h2&gt;

&lt;p&gt;Below is the complete index of technical deep-dives, runnable Solidity/TypeScript templates, and step-by-step troubleshooting guides in this cluster:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/how-to-rescue-tokens-from-a-compromised-wallet-with-a-sweeper-bot-flashbots-guid" rel="noopener noreferrer"&gt;How to Rescue Tokens From a Compromised Wallet With a Sweeper Bot (Flashbots Guide)&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;rescue tokens compromised wallet&lt;/code&gt;: A sweeper bot steals every bit of ETH you send for gas. Here's how Flashbots bundles let you rescue tokens and NFTs from a compromised wallet anyway.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/how-to-check-and-remove-a-malicious-eip-7702-delegation" rel="noopener noreferrer"&gt;How to Check and Remove a Malicious EIP-7702 Delegation&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;remove eip-7702 delegation&lt;/code&gt;: EIP-7702 sweeper on your wallet? How to see the delegation with eth_getCode, clear it to address zero, and rescue funds before the attacker re-delegates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/how-to-revoke-token-approvals-and-permit2-signatures" rel="noopener noreferrer"&gt;How to Revoke Token Approvals and Permit2 Signatures&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;revoke token approvals&lt;/code&gt;: Unlimited approvals and signed Permit2 permits drain most wallets. How to find and revoke them, use Permit2 lockdown, and when revoking won't help.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/rescue-tokens-from-a-compromised-wallet-sweeper-bot-rescue-service" rel="noopener noreferrer"&gt;Rescue Tokens From a Compromised Wallet: Sweeper Bot Rescue Service&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;rescue tokens from compromised wallet&lt;/code&gt;: Your options for a sweeper bot rescue: DIY Flashbots bundles, the Flashbots Whitehat Hotline, rescue tools, and how to spot fake recovery services.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/how-to-claim-an-airdrop-from-a-compromised-wallet-before-the-sweeper-does" rel="noopener noreferrer"&gt;How to Claim an Airdrop From a Compromised Wallet (Before the Sweeper Does)&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;how to claim an airdrop from a compromised wallet before the sweeper does&lt;/code&gt;: How to claim an airdrop from a compromised wallet with a Flashbots bundle: fund gas, claim and transfer in one block before the sweeper bot.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/the-youtube-mev-bot-scam-how-the-remix-contract-drains-your-eth" rel="noopener noreferrer"&gt;The YouTube MEV Bot Scam: How the "Remix Contract" Drains Your ETH&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;youtube mev bot scam&lt;/code&gt;: How the YouTube MEV bot scam works: how the fake Remix bot contract hides the attacker address, real on-chain losses, red flags, and recovery steps.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/wallet-drained-what-to-do-in-the-first-hour-ethereum-checklist" rel="noopener noreferrer"&gt;Wallet Drained? What to Do in the First Hour (Ethereum Checklist)&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;wallet drained&lt;/code&gt;: Wallet drained? A first-hour Ethereum checklist: stop the bleeding, tell a key leak from an approval drain, move to a new seed, rescue leftovers, report it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/crypto-recovery-scams-how-to-spot-fake-wallet-recovery-services" rel="noopener noreferrer"&gt;Crypto Recovery Scams: How to Spot Fake "Wallet Recovery" Services&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;crypto recovery scam&lt;/code&gt;: Crypto recovery scams took $1.4B in 2025 per the FBI. How fake recovery services find drain victims, the red flags, and what can actually be recovered.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/unstake-from-a-compromised-wallet-rescue-locked-tokens" rel="noopener noreferrer"&gt;Unstake From a Compromised Wallet: Rescue Locked Tokens&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;unstake from compromised wallet&lt;/code&gt;: How to unstake from a compromised wallet on Ethereum: rescue staked ETH, Lido/EigenLayer positions, and vesting tokens before a sweeper bot steals them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/eip-7702-rescue-vs-flashbots-bundles-saving-tokens" rel="noopener noreferrer"&gt;EIP 7702 Rescue vs Flashbots Bundles: Saving Tokens&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;eip 7702 rescue&lt;/code&gt;: EIP 7702 rescue vs classic Flashbots bundles on Ethereum: how sweep7702 atomic batching defeats aggressive sweeper bots and rescues compromised wallets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/recover-nft-from-a-hacked-wallet-sweeper-bot-guide" rel="noopener noreferrer"&gt;Recover NFT From a Hacked Wallet: Sweeper Bot Guide&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;recover nft from hacked wallet&lt;/code&gt;: How to recover an NFT from a hacked wallet on Ethereum when a sweeper bot is watching: atomic Flashbots ERC-721 and ERC-1155 rescue bundles explained.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/private-key-leaked-on-ethereum-save-what-s-left" rel="noopener noreferrer"&gt;Private Key Leaked on Ethereum? Save What's Left&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;private key leaked ethereum&lt;/code&gt;: Private key leaked on Ethereum or GitHub? See how secret-scanner sweeper bots drain .env keys in seconds and how to rescue tokens via Flashbots.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/sweeper-bot-on-trust-wallet-ledger-rabby-rescue-steps" rel="noopener noreferrer"&gt;Sweeper Bot on Trust Wallet, Ledger &amp;amp; Rabby: Rescue Steps&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;sweeper bot trust wallet&lt;/code&gt;: Dealing with a sweeper bot on Trust Wallet, Ledger, or Rabby? How wallet-specific seed derivation works and how to export your key to run a Flashbots rescue.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/compromised-wallet-checker-is-your-ethereum-key-leaked" rel="noopener noreferrer"&gt;Compromised Wallet Checker: Is Your Ethereum Key Leaked?&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;compromised wallet checker&lt;/code&gt;: Use this 5-step Ethereum compromised wallet checker to tell whether your private key is leaked, you have an EIP-7702 sweeper, or a token approval drained you.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/rescue-ens-vesting-contracts-from-a-compromised-wallet" rel="noopener noreferrer"&gt;Rescue ENS &amp;amp; Vesting Contracts From a Compromised Wallet&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;rescue ens compromised wallet&lt;/code&gt;: How to rescue ENS names (.eth) and token vesting contracts (Sablier, Team Finance, Unicrypt, custom cliffs) from a compromised Ethereum wallet via Flashbots.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/wallet-drainer-approvals-permit-setapprovalforall-7702" rel="noopener noreferrer"&gt;Wallet Drainer Approvals: Permit, SetApprovalForAll &amp;amp; 7702&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;wallet drainer approvals&lt;/code&gt;: How wallet drainer approvals steal ERC-20s, NFTs, and ETH via EIP-2612 Permit, Permit2, SetApprovalForAll, and EIP-7702—and how to revoke them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://mevdao.org/blog/sweeper-bot-rescue-service-live-token-rescue-case-study" rel="noopener noreferrer"&gt;Sweeper Bot Rescue Service: Live Token Rescue Case Study&lt;/a&gt;&lt;/strong&gt; — Deep-dive guide covering &lt;code&gt;sweeper bot rescue service&lt;/code&gt;: Case study: how our sweeper bot rescue service used a private Flashbots rescue bundle to save $42,800 in tokens from an active Ethereum sweeper.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Open-Source Reference Repositories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/eip-7702-delegation-checker-revoker" rel="noopener noreferrer"&gt;eip-7702-delegation-checker-revoker&lt;/a&gt; — CLI to inspect &lt;code&gt;0xef0100&lt;/code&gt; delegation designators and clear malicious EIP-7702 delegates.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/compromised-wallet-sweeper-rescue" rel="noopener noreferrer"&gt;compromised-wallet-sweeper-rescue&lt;/a&gt; — Atomic &lt;code&gt;eth_sendBundle&lt;/code&gt; sponsor + asset transfer rescue template.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/flashbots-bundle-simulator-anvil" rel="noopener noreferrer"&gt;flashbots-bundle-simulator-anvil&lt;/a&gt; — Reproducible Foundry Anvil harness for bundle debugging.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/solidity-mev-bot-scam-detector" rel="noopener noreferrer"&gt;solidity-mev-bot-scam-detector&lt;/a&gt; — Static analyzer to detect obfuscated YouTube/Remix MEV bot drainer contracts.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/ethereum-sniper-bot-flashbots" rel="noopener noreferrer"&gt;ethereum-sniper-bot-flashbots&lt;/a&gt; — Same-block Uniswap V2/V3 bundle execution and pre-trade honeypot simulation reference.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/mevdao-org/mev-arbitrage-and-liquidation-reference" rel="noopener noreferrer"&gt;mev-arbitrage-and-liquidation-reference&lt;/a&gt; — Atomic two-pool arbitrage &amp;amp; Aave V3 &lt;code&gt;liquidationCall&lt;/code&gt; executor with builder coinbase bribe math.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For production Ethereum sniping, compromised-wallet rescues, or custom MEV engineering, visit &lt;a href="https://mevdao.org" rel="noopener noreferrer"&gt;MEV DAO&lt;/a&gt; or start a &lt;a href="https://mevdao.org/subscribe" rel="noopener noreferrer"&gt;3-day trial&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ethereum</category>
      <category>security</category>
      <category>web3</category>
      <category>blockchain</category>
    </item>
    <item>
      <title>How to Test an MEV Bot on a Mainnet Fork With Anvil</title>
      <dc:creator>MEV DAO</dc:creator>
      <pubDate>Thu, 22 Oct 2026 21:42:37 +0000</pubDate>
      <link>https://dev.to/mevdao/how-to-test-an-mev-bot-on-a-mainnet-fork-with-anvil-32j9</link>
      <guid>https://dev.to/mevdao/how-to-test-an-mev-bot-on-a-mainnet-fork-with-anvil-32j9</guid>
      <description>&lt;p&gt;The most expensive way to test an MEV bot is on mainnet with real money. A bug in the swap math, a wrong token decimal, an approval missing in the contract, and the "test" costs a few hundred dollars in gas or a lot more in bad trades.&lt;/p&gt;

&lt;p&gt;The cheap way is a mainnet fork. You run a local copy of Ethereum that starts from the real chain state at a block you choose. Every pool, every token balance and every contract is there, but the ETH is fake and nothing you do touches the real chain. Foundry's Anvil makes this really easy.&lt;/p&gt;

&lt;p&gt;This is the setup I'd recommend for testing any bot: arbitrage, liquidation, sniping, anything.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install Foundry and start a fork
&lt;/h2&gt;

&lt;p&gt;If you don't have Foundry yet, install it from &lt;a href="https://www.getfoundry.sh" rel="noopener noreferrer"&gt;getfoundry.sh&lt;/a&gt;. Then you need an archive-capable RPC URL. A free tier from a node provider works to start, or your own node if you have one.&lt;/p&gt;

&lt;p&gt;Start the fork:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;anvil --fork-url &lt;span class="nv"&gt;$ETH_RPC_URL&lt;/span&gt; --fork-block-number 21000000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That gives you a local node on &lt;code&gt;http://127.0.0.1:8545&lt;/code&gt; with mainnet state as of that block. Anvil fetches the state it needs from your RPC as you go and caches it, so the first calls are slower than the rest.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Always pin the block number.&lt;/strong&gt; If you don't, you fork from the latest block, and every test run starts from a different state. Pinned blocks make your tests reproducible, and Anvil can reuse its cache. The &lt;a href="https://www.getfoundry.sh/anvil/forking" rel="noopener noreferrer"&gt;forking docs&lt;/a&gt; cover the options.&lt;/p&gt;

&lt;h2&gt;
  
  
  Don't use the default accounts with real keys
&lt;/h2&gt;

&lt;p&gt;Anvil starts with ten accounts, each with 10,000 fake ETH, from a well-known test mnemonic. Those keys are public. Everyone has them. If you ever use one of them on a real network by accident, whatever's in it gets taken immediately.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.getfoundry.sh/anvil" rel="noopener noreferrer"&gt;Anvil docs&lt;/a&gt; warn about this. Use your own mnemonic for forks:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;anvil --fork-url &lt;span class="nv"&gt;$ETH_RPC_URL&lt;/span&gt; --fork-block-number 21000000 \
  --mnemonic &lt;span class="s2"&gt;"your own test mnemonic that is never used on mainnet"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And keep your real bot keys out of the test environment completely.&lt;/p&gt;

&lt;h2&gt;
  
  
  The custom methods that make forks useful
&lt;/h2&gt;

&lt;p&gt;Anvil has a set of &lt;a href="https://www.getfoundry.sh/anvil/custom-methods" rel="noopener noreferrer"&gt;custom RPC methods&lt;/a&gt; beyond normal Ethereum JSON-RPC. These are the ones I use most for bots.&lt;/p&gt;

&lt;h3&gt;
  
  
  Impersonate any address
&lt;/h3&gt;

&lt;p&gt;You can send transactions as any address without its private key. That's how you get tokens for testing, by impersonating a whale, or how you replay a transaction from a real user.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cast rpc anvil_impersonateAccount &lt;span class="nv"&gt;$WHALE&lt;/span&gt;
cast send &lt;span class="nv"&gt;$USDC&lt;/span&gt; &lt;span class="s2"&gt;"transfer(address,uint256)"&lt;/span&gt; &lt;span class="nv"&gt;$MY_BOT&lt;/span&gt; 1000000000 \
  --from &lt;span class="nv"&gt;$WHALE&lt;/span&gt; --unlocked
cast rpc anvil_stopImpersonatingAccount &lt;span class="nv"&gt;$WHALE&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or start Anvil with &lt;code&gt;--auto-impersonate&lt;/code&gt; to allow it for every address.&lt;/p&gt;

&lt;h3&gt;
  
  
  Set balances, code and storage directly
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cast rpc anvil_setBalance &lt;span class="nv"&gt;$MY_BOT&lt;/span&gt; 0xDE0B6B3A7640000   &lt;span class="c"&gt;# 1 ETH&lt;/span&gt;
cast rpc anvil_setCode &lt;span class="nv"&gt;$ADDRESS&lt;/span&gt; &lt;span class="nv"&gt;$BYTECODE&lt;/span&gt;
cast rpc anvil_setStorageAt &lt;span class="nv"&gt;$ADDRESS&lt;/span&gt; &lt;span class="nv"&gt;$SLOT&lt;/span&gt; &lt;span class="nv"&gt;$VALUE&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;anvil_setCode&lt;/code&gt; is great for swapping a contract for a modified version, for example a mock oracle you can move whenever you want. That's how you test a liquidation bot: change the price, see if your bot finds the position and closes it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Control mining
&lt;/h3&gt;

&lt;p&gt;This is the important one for MEV. By default, Anvil mines a block for every transaction instantly. That's useless if your bot needs to react to pending transactions. So turn it off:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;anvil --fork-url &lt;span class="nv"&gt;$ETH_RPC_URL&lt;/span&gt; --fork-block-number 21000000 --no-mining
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now transactions sit in Anvil's pool until you mine. You can see them with &lt;code&gt;txpool_content&lt;/code&gt;, the same way your bot would watch a mempool, and then mine when you're ready:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cast rpc txpool_content
cast rpc anvil_mine
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This lets you simulate the real flow: a "victim" transaction arrives in the pool, your bot sees it, builds its response, and you mine one block to see the result. You can also use &lt;code&gt;--block-time 12&lt;/code&gt; for regular 12-second blocks.&lt;/p&gt;

&lt;h3&gt;
  
  
  Snapshots
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cast rpc evm_snapshot     &lt;span class="c"&gt;# returns an id&lt;/span&gt;
&lt;span class="c"&gt;# ... run your test ...&lt;/span&gt;
cast rpc evm_revert &lt;span class="nv"&gt;$SNAPSHOT_ID&lt;/span&gt;   &lt;span class="c"&gt;# back to the snapshot&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Snapshot before each test case and revert afterwards. You can run the same scenario a hundred times without restarting Anvil or fetching state again.&lt;/p&gt;

&lt;h3&gt;
  
  
  Traces
&lt;/h3&gt;

&lt;p&gt;Start Anvil with &lt;code&gt;--print-traces&lt;/code&gt; and you'll see the full call trace for every transaction in the terminal. When your bot's transaction reverts with a useless error, this tells you which call failed and why.&lt;/p&gt;

&lt;h2&gt;
  
  
  Replay a real opportunity
&lt;/h2&gt;

&lt;p&gt;This is where forks really help. Find a real MEV transaction on Etherscan, a liquidation or an arbitrage that another bot won. Note its block number, then:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fork at the block &lt;strong&gt;before&lt;/strong&gt; it: &lt;code&gt;--fork-block-number &amp;lt;block - 1&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Disable mining.&lt;/li&gt;
&lt;li&gt;Send the transactions that came before it in that block (impersonating their senders), so the state is the same as when the opportunity appeared.&lt;/li&gt;
&lt;li&gt;Run your bot and see if it finds the same opportunity, and how much it would have made.&lt;/li&gt;
&lt;li&gt;Compare your gas usage to the winner's.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can also inspect any historical transaction directly with &lt;code&gt;cast run&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;cast run &lt;span class="nv"&gt;$TX_HASH&lt;/span&gt; --rpc-url &lt;span class="nv"&gt;$ETH_RPC_URL&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That replays the transaction locally and prints its trace, which is great for understanding what a competitor's contract actually does.&lt;/p&gt;

&lt;p&gt;Do this for twenty historical opportunities and you'll learn more about your strategy than from a month of reading.&lt;/p&gt;

&lt;h2&gt;
  
  
  Forge tests for the contract
&lt;/h2&gt;

&lt;p&gt;For the on-chain part of the bot, write Foundry tests that run against a fork:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function setUp() public {
    vm.createSelectFork(vm.envString("ETH_RPC_URL"), 21_000_000);
    deal(USDC, address(bot), 1_000e6);
}

function test_arbitrageIsProfitable() public {
    uint256 before = IERC20(WETH).balanceOf(address(bot));
    bot.execute(route);
    assertGt(IERC20(WETH).balanceOf(address(bot)), before);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;deal&lt;/code&gt; from forge-std sets a token balance for you, so you don't need to find a whale. Add tests for the failure cases too: what happens if the price moved, if the pool is empty, if the token takes a fee. Those are the ones that lose real money.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a fork can't tell you
&lt;/h2&gt;

&lt;p&gt;A fork is great for checking that your logic and contracts work. It doesn't tell you whether you'll &lt;strong&gt;win&lt;/strong&gt; on mainnet:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No competition.&lt;/strong&gt; On your fork, you're the only bot. On mainnet, ten others see the same opportunity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No builder auction.&lt;/strong&gt; Your bundle doesn't compete for inclusion. To learn how that part works, read &lt;a href="https://mevdao.org/blog/flashbots-bundles-explained-how-to-send-eth-sendbundle-and-why-yours-isn-t-landi" rel="noopener noreferrer"&gt;Flashbots bundles explained&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No latency.&lt;/strong&gt; Real bots fail because they're 200ms too slow. A fork won't show that.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your RPC is the bottleneck.&lt;/strong&gt; Forks fetch state on demand, so heavy tests can hit rate limits on free RPC plans.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So use the fork to make sure the bot is &lt;em&gt;correct&lt;/em&gt;, then go live with small size to find out if it's &lt;em&gt;competitive&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  My testing checklist before going live
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[ ] Contract tests pass on a fork, including failure cases&lt;/li&gt;
&lt;li&gt;[ ] Bot finds and handles at least ten replayed historical opportunities&lt;/li&gt;
&lt;li&gt;[ ] Gas usage is close to (or lower than) the bots that won those opportunities&lt;/li&gt;
&lt;li&gt;[ ] Profit calculation includes gas and the builder payment&lt;/li&gt;
&lt;li&gt;[ ] No private key from the test setup is used anywhere real&lt;/li&gt;
&lt;li&gt;[ ] Kill switch and max position size are tested&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're building a liquidation bot, I wrote about the strategy side in &lt;a href="https://mevdao.org/blog/how-liquidation-bots-work-on-aave-and-why-they-re-hard-to-win" rel="noopener noreferrer"&gt;how liquidation bots work on Aave&lt;/a&gt;. For arbitrage, start with &lt;a href="https://mevdao.org/blog/how-to-build-a-profitable-mev-arbitrage-bot" rel="noopener noreferrer"&gt;how to build a profitable MEV arbitrage bot&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And if you want me to build or review a bot for you, message me on &lt;a href="https://t.me/merunas" rel="noopener noreferrer"&gt;Telegram&lt;/a&gt;. The ready-made MEVDAO tools, the Sniper Bot, Sniping Group and Token Rescue Bot, are on the &lt;a href="https://mevdao.org/#features" rel="noopener noreferrer"&gt;features page&lt;/a&gt;. Join the MEV Secrets email list right below for weekly tips.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on the &lt;a href="https://mevdao.org/blog/how-to-test-an-mev-bot-on-a-mainnet-fork-with-anvil" rel="noopener noreferrer"&gt;MEV DAO blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ethereum</category>
      <category>web3</category>
      <category>testing</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Flashbots Bundles Explained: How to Send eth_sendBundle and Why Yours Isn't Landing</title>
      <dc:creator>MEV DAO</dc:creator>
      <pubDate>Thu, 22 Oct 2026 21:42:27 +0000</pubDate>
      <link>https://dev.to/mevdao/flashbots-bundles-explained-how-to-send-ethsendbundle-and-why-yours-isnt-landing-2de8</link>
      <guid>https://dev.to/mevdao/flashbots-bundles-explained-how-to-send-ethsendbundle-and-why-yours-isnt-landing-2de8</guid>
      <description>&lt;p&gt;Almost every MEV bot on Ethereum, whether it's an arbitrage bot, a sniper or a rescue script, ends up sending bundles. And almost every developer who sends their first bundle has the same experience: the request returns a bundle hash, everything looks fine, and nothing ever shows up on-chain.&lt;/p&gt;

&lt;p&gt;This guide covers what a bundle is, how to send one properly, and a practical checklist for figuring out why yours isn't landing.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a bundle is
&lt;/h2&gt;

&lt;p&gt;A bundle is an ordered list of signed transactions that you send privately to a block builder instead of broadcasting them to the public mempool. The builder will include the whole bundle, in exactly that order, in one block, or it won't include any of it.&lt;/p&gt;

&lt;p&gt;Flashbots popularized this. Their &lt;a href="https://docs.flashbots.net/flashbots-auction/quick-start" rel="noopener noreferrer"&gt;Quick Start&lt;/a&gt; describes the flow: searchers send bundles to builders, builders simulate them to make sure they don't revert, build full blocks, and deliver those blocks to validators through mev-boost relays. Validators running mev-boost pick the most valuable block offered to them.&lt;/p&gt;

&lt;p&gt;Three properties make bundles so useful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Atomic.&lt;/strong&gt; All of the transactions land together or none do. That's what makes things like sponsored wallet rescues possible, where one transaction funds an account and the next ones spend that ETH in the same block. I covered that in &lt;a href="https://mevdao.org/blog/how-to-rescue-tokens-from-a-compromised-wallet-with-a-sweeper-bot-flashbots-guid" rel="noopener noreferrer"&gt;how to rescue tokens from a compromised wallet with a sweeper bot&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ordered.&lt;/strong&gt; You control the sequence, which is how backruns and same-block snipes work.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Private and revert-protected.&lt;/strong&gt; Bundles aren't visible in the public mempool before inclusion, and failed bundles don't land on-chain, so you don't pay gas for a trade that didn't work.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to send a bundle
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The endpoints
&lt;/h3&gt;

&lt;p&gt;Flashbots has two main endpoints on mainnet, and mixing them up is a common first mistake. Per the &lt;a href="https://docs.flashbots.net/guide-send-tx-bundle" rel="noopener noreferrer"&gt;Flashbots guide on sending transactions and bundles&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;rpc.flashbots.net&lt;/code&gt; is &lt;strong&gt;Flashbots Protect&lt;/strong&gt;, a drop-in wallet RPC for regular users. It takes normal &lt;code&gt;eth_sendRawTransaction&lt;/code&gt; calls. It does not take bundles.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;relay.flashbots.net&lt;/code&gt; is for searchers and bots. It accepts bundles and private transactions through Flashbots-specific methods. It does not support regular Ethereum RPC methods, so you still need a normal node for nonces, gas estimates and receipts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For testing, there's also a Sepolia relay at &lt;code&gt;relay-sepolia.flashbots.net&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  The signing key
&lt;/h3&gt;

&lt;p&gt;Every request to the relay is signed with an ECDSA key that identifies you as a searcher. The signature goes in the &lt;code&gt;X-Flashbots-Signature&lt;/code&gt; header as &lt;code&gt;address:signature&lt;/code&gt;, where the signature is over the JSON body. This key doesn't hold funds and shouldn't be your trading key. Flashbots uses it to build a reputation for you over time, and higher-reputation searchers get better access when the network is congested. So reuse the same identity key instead of generating a new one every run.&lt;/p&gt;

&lt;h3&gt;
  
  
  The eth_sendBundle request
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://docs.flashbots.net/flashbots-auction/advanced/rpc-endpoint" rel="noopener noreferrer"&gt;JSON-RPC docs&lt;/a&gt; describe the payload. The core fields are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;txs&lt;/code&gt;: an array of signed raw transactions, in order.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;blockNumber&lt;/code&gt;: the hex block number this bundle is valid for.&lt;/li&gt;
&lt;li&gt;Optional: &lt;code&gt;minTimestamp&lt;/code&gt; and &lt;code&gt;maxTimestamp&lt;/code&gt;, &lt;code&gt;revertingTxHashes&lt;/code&gt; (transactions that are allowed to revert without killing the bundle), &lt;code&gt;replacementUuid&lt;/code&gt; (to replace or cancel a bundle later) and &lt;code&gt;builders&lt;/code&gt; (a list of other registered builders that should also receive the bundle).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The same docs list limits of 100 transactions and 300,000 bytes per bundle.&lt;/p&gt;

&lt;p&gt;A minimal request body looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;"jsonrpc"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"2.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nl"&gt;"method"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"eth_sendBundle"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nl"&gt;"params"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nl"&gt;"txs"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"0x02f8..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"0x02f8..."&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nl"&gt;"blockNumber"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"0x1499a2c"&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you're in JavaScript, the official &lt;a href="https://github.com/flashbots/ethers-provider-flashbots-bundle/" rel="noopener noreferrer"&gt;ethers-provider-flashbots-bundle&lt;/a&gt; library handles signing and gives you &lt;code&gt;simulate()&lt;/code&gt; and &lt;code&gt;sendBundle()&lt;/code&gt; helpers. Note that its README says it's designed for an existing ethers.js v5 installation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Target the next block, and resubmit every block
&lt;/h3&gt;

&lt;p&gt;A bundle is valid for one block. If you target block N+1 and it isn't included there, it's gone. The library README is explicit that if your bundle should be valid until it's mined, you need to resubmit for every block, and the target should always be a future block, never the current one.&lt;/p&gt;

&lt;p&gt;Resubmitting each block is also your chance to re-check the opportunity, update fees to the new base fee, and re-sign with the correct nonce.&lt;/p&gt;

&lt;h3&gt;
  
  
  mev_sendBundle and MEV-Share
&lt;/h3&gt;

&lt;p&gt;Flashbots also has &lt;code&gt;mev_sendBundle&lt;/code&gt;, a newer format that supports MEV-Share, where you can backrun user transactions that are only partially revealed through hints. Their &lt;a href="https://writings.flashbots.net/searching-on-mev-share" rel="noopener noreferrer"&gt;MEV-Share searcher writeup&lt;/a&gt; explains the strategies. If you're just starting, &lt;code&gt;eth_sendBundle&lt;/code&gt; is the simple option and is what most examples use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Always simulate first
&lt;/h2&gt;

&lt;p&gt;Before you send anything, simulate it with &lt;code&gt;eth_callBundle&lt;/code&gt; (the library's &lt;code&gt;simulate()&lt;/code&gt; method). The simulation runs your signed transactions in order on top of a given block and returns gas used, fees paid and coinbase payments for each transaction.&lt;/p&gt;

&lt;p&gt;This catches the majority of problems before they cost you an opportunity. The &lt;a href="https://docs.flashbots.net/flashbots-auction/advanced/troubleshooting" rel="noopener noreferrer"&gt;Flashbots troubleshooting guide&lt;/a&gt; recommends simulating, logging the results, and keeping a record of every bundle and its signed transactions, because a bundle that fails leaves no trace on Etherscan to debug from.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why your bundle isn't being included: the checklist
&lt;/h2&gt;

&lt;p&gt;The Flashbots troubleshooting guide lists five reasons a bundle doesn't land, in the order you should check them.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. A transaction in the bundle reverts
&lt;/h3&gt;

&lt;p&gt;If any transaction reverts (and isn't listed in &lt;code&gt;revertingTxHashes&lt;/code&gt;), the whole bundle is dropped. Common causes: wrong nonce, insufficient balance, a stale price that makes your slippage check fail, a deadline that's already passed, or a token transfer that the token contract blocks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; simulate against the block you're targeting and read the per-transaction results.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. You're not paying enough for the blockspace
&lt;/h3&gt;

&lt;p&gt;Your transactions must pay at least the base fee, or the block would be invalid. Beyond that, the builder compares what your bundle pays with what it would earn from other transactions using the same gas. The docs give a simple example: if your bundle pays a 1 gwei priority fee but the cheapest transaction in the block pays 2 gwei, the builder is better off leaving your bundle out.&lt;/p&gt;

&lt;p&gt;What matters is the &lt;strong&gt;effective priority fee&lt;/strong&gt;: everything the bundle pays the builder (priority fees plus any direct ETH transfers to the block's coinbase), divided by the gas it uses.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; pay more, or use less gas for the same result. Gas optimization is a bid in disguise.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. A competitor bid more for the same opportunity
&lt;/h3&gt;

&lt;p&gt;Builders roughly simulate each bundle at the top of the block, sort by effective priority fee, and then add bundles one by one as long as they still work. If another bundle that touches the same state goes first, yours may revert, collide on a nonce, or pay less than it did in isolation. Then it's dropped.&lt;/p&gt;

&lt;p&gt;The auction is blind, so you can't see competing bids in advance. You can look afterward: the library's &lt;code&gt;getConflictingBundle()&lt;/code&gt; helper re-simulates the target block to find which bundle conflicted with yours and how much it paid.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; compare your effective priority fee with the winner's. If you're consistently outbid, the opportunity may be too competitive. In that case, a less crowded strategy beats a higher bid. My take on that is in &lt;a href="https://mevdao.org/blog/how-to-build-a-profitable-mev-arbitrage-bot" rel="noopener noreferrer"&gt;how to build a profitable MEV arbitrage bot&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Your bundle arrived too late
&lt;/h3&gt;

&lt;p&gt;Your bundle has to reach the builder, get simulated, go into a block, and get through a relay to the validator, all before the slot. The troubleshooting guide notes each of those steps can take around 1 to 2 seconds. There's also a window where your node still thinks the chain is at block X while the rest of the network has already seen X+1, so you're targeting a block that's already been built.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; cut your own processing time, use low-latency, well-synced nodes, and send your bundle as early as you can in the slot.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. The validator isn't running mev-boost
&lt;/h3&gt;

&lt;p&gt;mev-boost is opt-in. If the validator for a slot doesn't run it, or isn't connected to a relay your builder submits to, no bundle will land in that block. Research on the builder market, such as &lt;a href="https://arxiv.org/html/2407.13931" rel="noopener noreferrer"&gt;this 2024 study&lt;/a&gt;, found that the large majority of blocks since the Merge come through mev-boost, but not all of them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; nothing to fix. Resubmit for the next block.&lt;/p&gt;

&lt;h2&gt;
  
  
  Send to more than one builder
&lt;/h2&gt;

&lt;p&gt;Flashbots is one builder among several. The builder market is concentrated in a handful of players, and their share changes over time. You can see current relay and builder shares on &lt;a href="https://www.relayscan.io/overview?t=24h" rel="noopener noreferrer"&gt;relayscan.io&lt;/a&gt; and slot-level data on &lt;a href="https://mevboost.pics/data" rel="noopener noreferrer"&gt;mevboost.pics&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you only send to one builder, you only get into blocks that builder wins. You can use the &lt;code&gt;builders&lt;/code&gt; field to have Flashbots share your bundle with other registered builders, and many builders run their own bundle endpoints. Check each builder's documentation for its exact API before relying on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get refunds when you overpay
&lt;/h2&gt;

&lt;p&gt;Eligible bundles that land in blocks built by BuilderNet (the block-building network Flashbots operates together with partners) can earn refunds of part of what they paid, based on how much they contributed to the block's value. The rules are in the &lt;a href="https://buildernet.org/docs/refunds" rel="noopener noreferrer"&gt;BuilderNet refunds documentation&lt;/a&gt;. The Flashbots RPC docs include &lt;code&gt;flashbots_getFeeRefundsByRecipient&lt;/code&gt; and related methods so you can see what you've earned, and &lt;code&gt;flashbots_setFeeRefundRecipient&lt;/code&gt; to send refunds to a different address. It's worth checking, especially if you bid aggressively.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Use &lt;code&gt;relay.flashbots.net&lt;/code&gt; for bundles, with a stable identity key.&lt;/li&gt;
&lt;li&gt;Simulate with &lt;code&gt;eth_callBundle&lt;/code&gt; every time.&lt;/li&gt;
&lt;li&gt;Target the next block and resubmit every block.&lt;/li&gt;
&lt;li&gt;Check the five failure reasons in order: reverts, fee too low, outbid, too late, no mev-boost.&lt;/li&gt;
&lt;li&gt;Send to multiple builders.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you'd rather not build all of this yourself, the &lt;a href="https://mevdao.org/#features" rel="noopener noreferrer"&gt;MEVDAO Sniper Bot and Token Rescue Bot&lt;/a&gt; already handle bundle building, simulation and submission for sniping and wallet rescues. They're included in the &lt;a href="https://mevdao.org/#pricing" rel="noopener noreferrer"&gt;MEVDAO subscription&lt;/a&gt; with a &lt;a href="https://mevdao.org/subscribe" rel="noopener noreferrer"&gt;3-day free trial&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For more guides like this, join the free MEV Secrets email list below. And if you want a custom MEV bot built, &lt;a href="https://t.me/merunas" rel="noopener noreferrer"&gt;message me on Telegram&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published on the &lt;a href="https://mevdao.org/blog/flashbots-bundles-explained-how-to-send-eth-sendbundle-and-why-yours-isn-t-landi" rel="noopener noreferrer"&gt;MEV DAO blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ethereum</category>
      <category>web3</category>
      <category>blockchain</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
