All articles
MEV·May 6, 2026·6 min read

Jito Bundles vs Flashbots Bundles: MEV Auctions Compared

Jito bundles vs Flashbots: how Solana's block-engine tip auction and Ethereum's PBS/MEV-Boost relay differ, and what it means for MEV bot builders.

Jito and Flashbots both sell the same product — priority access to block space — but they're built for two chains that don't share a single design assumption. Solana finalizes a block every 400 milliseconds with a known leader schedule. Ethereum finalizes one every 12 seconds with a proposer chosen by RANDAO and deliberately kept blind to what it's signing. That gap in slot time and proposer visibility is why "just port Flashbots to Solana" never worked, and why Jito had to invent something structurally different even though the end goal — atomic bundles, tip-based ordering, MEV that doesn't leak to the public mempool — looks identical on a slide deck.

If you're building a searcher or arbitrage bot and you've only ever worked one chain, the other one will break your mental model in specific, costly ways. Here's where they actually diverge.

The core architecture difference

Ethereum's problem after the Merge was that a single proposer could see the whole mempool and extract MEV directly, or worse, get bribed to censor. Flashbots solved this with proposer-builder separation (PBS): specialized builders compete to construct the most valuable block, submit sealed bids to a relay, and the proposer — running MEV-Boost as a sidecar — blindly signs whichever header carries the highest bid without seeing its contents until it's already committed. Searchers don't talk to proposers at all; they submit bundles to builders (or through Flashbots Protect RPC, which forwards to multiple builders) via eth_sendBundle.

Solana never had a proposer/builder split to begin with — validators build their own blocks — so Jito built a parallel path instead. The Jito Block Engine is off-chain infrastructure that simulates and ranks bundles by tip, then streams the winning ones directly to whichever validator is the current leader, provided that validator runs the Jito-Solana client. Because leader rotation is public and predictable (each validator leads for 4 consecutive slots, roughly every couple of seconds in normal rotation), searchers can pre-position connections to the current and next leader's block engine relay instead of bidding into a blind, chain-wide auction.

How a bundle actually moves

On Solana, a bundle is up to 5 transactions, executed atomically, no partial fills. You attach a tip by writing to one of 8 fixed tip payment accounts — this is separate from the transaction's compute-unit priority fee, so a bot has two dials, not one. The block engine's dynamic tip floor moves with demand; during a hot NFT mint or a token launch it can 10x within minutes, which is something a static tip config will miss every time.

// minimal Jito bundle tip instruction (Solana web3.js style)
const tipAccounts = [
  "96gYZGLnJYVFmbjzopPSU6QiEV5fGqZNyN9nmNhvrZU5",
  // ...7 more rotating tip accounts
];
const tipIx = SystemProgram.transfer({
  fromPubkey: searcherWallet.publicKey,
  toPubkey: new PublicKey(tipAccounts[Math.floor(Math.random() * 8)]),
  lamports: currentTipFloorLamports,
});

On Ethereum, a Flashbots bundle can carry effectively as many transactions as gas allows, and payment is usually a coinbase.transfer() call inside the bundle itself plus (optionally) a bumped priority fee. You're not picking from a fixed set of accounts — you're paying the block's producer directly inside the same atomic unit.

{
  "jsonrpc": "2.0",
  "method": "eth_sendBundle",
  "params": [{
    "txs": ["0x02f8...", "0x02f8..."],
    "blockNumber": "0x1234abc",
    "revertingTxHashes": []
  }]
}

That revertingTxHashes field is worth dwelling on — Flashbots lets you whitelist specific transactions inside a bundle that are allowed to revert without killing the whole thing, useful for backrunning where you're not 100% sure your leg will succeed. Jito bundles don't have that knob: it's all-or-nothing, full stop.

Comparison table

Dimension Jito (Solana) Flashbots (Ethereum)
Slot time ~400ms ~12s
Auction mechanism Off-chain block engine ranks bundles by tip, streams to known leader PBS: builders compete, relay blind-selects highest-bid header
Bundle size Up to 5 transactions, strictly atomic Gas-limited, effectively unlimited transactions
Payment path Explicit tip to 1 of 8 fixed tip accounts, separate from priority fee coinbase.transfer() inside bundle plus optional priority fee
Partial revert allowed No — full bundle atomic Yes — configurable via revertingTxHashes
Client/relay adoption Vast majority of Solana stake runs Jito-Solana client Dozens of active builders; most proposers run MEV-Boost
Searcher's counterparty Block engine, then directly the current/next leader One or more builders via relay
Regional infra 5 fixed block engine regions (Amsterdam, Frankfurt, NY, Tokyo, SLC) Globally distributed relay/builder network
Latency budget to land Tens of ms, whole pipeline must fit inside a ~400ms slot Low hundreds of ms, spread across a 12s window

What the gap means for bot builders

The tightest constraint on Solana is time, not complexity. A 400ms slot means your simulate-decide-sign-submit loop has to be finished while you still have leader lead time left — this is why colocated infrastructure and low-latency data feeds matter so much more here than on Ethereum. If your RPC layer is adding 150ms of round-trip jitter, you've already lost half your window before you've formed an opinion. That's the whole reason we've written separately about why raw RPC polling loses races that a streaming Yellowstone gRPC pipeline wins — on Solana, transport latency is strategy, not plumbing. If you want the mechanics of how tips actually get ranked and paid out validator-side, the deep dive on how the Jito block engine auction works is the companion piece to this one.

On Ethereum, the constraint is competitive depth, not raw speed. You have 12 seconds, but you're competing against dozens of sophisticated builders who are themselves running simulation farms and adjusting bids in real time. A bot that wins on Solana by being fast will get outcompeted on Ethereum by a bot that's smarter about which builders to target and how to structure multi-tx bundles to avoid tipping your hand to copy-traders watching the public bundle stream.

Cross-chain opportunities compound this. If you're running strategies that touch Hyperliquid's HLP vault alongside spot DEX arbitrage, you're already juggling two entirely different bundle-submission stacks, two different tip economics, and two different failure modes for a stale price feed.

Which to pick when

This isn't really an either/or choice for most serious operations — it's about matching tooling to venue. If your strategy lives on Solana (Raydium/Orca arb, Jupiter routing, pump.fun sniping), you build against Jito from day one; there's no meaningful alternative relay, and trying to route around it means eating public-mempool sandwich risk. That's the exact problem our Solana MEV and arbitrage bot builds are scoped around — tip strategy, bundle construction, and leader-aware submission timing baked in, not bolted on.

If you're on Ethereum or an EVM L2, Flashbots (or a comparable builder-relay stack like bloXroute) is table stakes for avoiding the public mempool, but your edge comes from builder selection and bundle simulation quality more than raw speed — that's the focus of our EVM MEV bot and EVM arbitrage bot engagements. Either way, neither auction model forgives bad infrastructure: get the data and RPC layer wrong and it doesn't matter which relay you're bidding into.

If you're weighing a Solana strategy against porting the same logic to an EVM chain, talk to us about building a Solana MEV bot tuned for Jito's block engine before you commit engineering time to the wrong auction model.

Need a bot like this built?

We design, build and run trading bots on Solana, Hyperliquid and Polymarket.

Start a project
#MEV#Solana#Ethereum#Jito#Flashbots