Why You Need an Auction Simulator in Your Head

I'm staring at my bot's logs, and a pattern keeps emerging that I can't ignore. The bot finds what looks like a profitable opportunity, submits a bundle, and... nothing. The bundle doesn't land. It happens again and again — not because the opportunity was fake, not because the math was wrong, but because someone else bid higher. The problem isn't finding opportunities. The problem is winning the auction.

This realization hits differently when real SOL is on the line. Every failed bundle is a missed window. Every overbid is profit donated to validators. I need a way to think about this systematically — not just "bid more" or "bid less," but a mental framework for understanding how much to bid, when, and why. I need an auction simulator running in my head.

What Exactly Is Being Auctioned

Before building any mental model, I need to understand the product being sold. In Jito's system, the product is blockspace priority — specifically, priority access to a reserved portion of Solana's block.

Here's how the auction works at a mechanical level. Jito's Block Engine runs auctions at regular intervals — roughly every 200 milliseconds, or about twice per slot. Searchers like me submit bundles — groups of up to five transactions that execute atomically, meaning all-or-nothing. The Block Engine collects these bundles, groups them by account conflicts, and selects winners based on who pays the most efficient tip.

The word "efficient" is doing heavy lifting in that sentence. The Block Engine doesn't just look at raw tip amount. According to Jung-Hua Liu's economic analysis, bundles are prioritized by "tip per compute unit." A bundle offering a large tip but consuming massive compute resources can lose to a smaller tip that uses fewer compute units. The efficiency metric is the ratio, not the absolute number.

This is like bidding at a storage unit auction — it's not just what you're willing to pay, but what you're getting per square foot. A $500 bid for a closet-sized unit beats a $400 bid for a garage-sized one if the auctioneer is optimizing revenue per square foot.

The Knapsack Problem

The Block Engine's selection algorithm is essentially a greedy knapsack optimization, per Liu's analysis. The validator has a fixed compute unit budget available for Jito-routed transactions — the scheduler reserves a dedicated CU allocation for the first portion of the block. The goal is to stuff that allocation with bundles that maximize total tip revenue.

This means two things for searchers. First, you're not just competing on price — you're competing on price-per-unit-of-blockspace. Second, the auction isn't a simple "highest bidder wins." It's a combinatorial optimization where the validator picks the best combination of bundles that fits within the compute budget.

Parallel Auctions and Account Locking

There's another layer of complexity. Not all bundles compete against each other directly. According to Jito's official documentation, bundles that touch different accounts can run in separate parallel auctions. The conflict rules are straightforward: if two bundles both write to the same account, or if one reads while another writes, they conflict and compete in the same auction. But if both only read the same accounts, they can run independently.

This matters for my mental model because it means the number of competitors I face depends on which accounts my arbitrage touches. A popular trading pair attracts more competing bundles than an obscure one. The auction pool isn't universal — it's account-specific.

The Formula That Changes Everything

Here's where the mental model gets its backbone. Liu's economic analysis models the Jito mechanism using auction theory and derives a Nash equilibrium bidding formula that every searcher should internalize:

T* = (n-1)/n x V

Where T* is the optimal tip, n is the number of symmetric competitors, and V is the expected profit from the MEV opportunity.

This formula is elegant and brutal. Let me walk through what it means at different competitor counts.

With no competitors — just me spotting an opportunity nobody else sees — the optimal bid is essentially the minimum. I keep nearly all the profit. This is the dream scenario, the equivalent of finding a $20 bill on the ground with nobody else around.

With one competitor (n=2), the equilibrium bid jumps to half the opportunity's value. If the arbitrage is worth 1 SOL, I should bid about 0.5 SOL. I keep roughly half.

At three competitors, I'm bidding about two-thirds of the value. At five competitors, four-fifths. By the time ten searchers are chasing the same opportunity, the equilibrium bid is ninety percent of the value — leaving just a sliver of profit.

As Liu notes in the analysis, "in the limit of many competitors, T* approaches V, meaning validators capture almost the entire MEV." The searcher's profit approaches zero.

This is the fundamental economics of MEV extraction: validators are the house, and the house always wins in a competitive market. It's like being a food truck at a festival — the more trucks selling the same thing, the lower your margins, until the only one making reliable money is whoever rented you the parking spot.

Running the Simulator: Three Variables

My mental auction simulator has three dials I can turn. Let me explore each one.

Variable 1: Opportunity Value (V)

This is the gross profit from the MEV opportunity before any tips or fees. For arbitrage, it's the price discrepancy between two or more pools minus transaction costs.

The research paints a picture of what real V values look like in the wild. According to industry reports covering 2024 Solana MEV data, the average successful arbitrage on Solana yielded about $1.58 in profit. The largest single arbitrage recorded was $3.7 million — but that's the outlier that makes headlines, not the median case.

For someone in my position, the realistic V range is small. Most opportunities I spot are in the single-digit SOL range, and many are fractions of a SOL. This is important because the formula doesn't care about absolute values — it cares about the ratio. Whether V is 0.01 SOL or 100 SOL, the same competitive dynamics apply.

Variable 2: Number of Competitors (n)

This is the variable I have the least visibility into, and it's arguably the most important one. When I submit a bundle, I have no idea how many other searchers spotted the same opportunity and are bidding simultaneously.

The research offers some indirect clues about competitive density. Industry-wide MEV reports indicate that over three billion bundles were processed on Solana in 2024, with peak daily volume reaching 24.4 million bundles. On the busiest day for unique participants, nearly 938,000 accounts were submitting tips. That's a lot of competition.

But not all of that competition is chasing the same opportunities. Remember the parallel auction structure — bundles touching different accounts run in separate auctions. The relevant n isn't the total number of searchers on Solana. It's the number chasing the specific opportunity in front of me, right now.

Liu's analysis captures this nuance perfectly: "Large opportunities attract many bidders; small ones may have fewer competitors." A significant price discrepancy on a major SOL trading pair might attract dozens of competing bundles. A tiny spread on an obscure token pair might attract two or three.

This creates an interesting strategic implication. The formula says that my profit as a fraction of V is 1/n. If I can find opportunities where n is consistently small — the overlooked corners of the market, the weird token pairs, the complex multi-hop routes — I keep a much larger share of each opportunity. It's the difference between fishing in a stocked tournament lake and finding your own quiet creek.

Variable 3: Tip Amount (T)

This is the only variable I directly control. Given my estimate of V and my guess about n, how much should I tip?

The equilibrium formula says T* = (n-1)/n x V, but there's a catch. This formula assumes all bidders are symmetric — same speed, same information, same risk tolerance. In reality, those assumptions rarely hold.

If I'm faster than my competitors (seeing the opportunity and submitting before they do), I might be able to bid below the equilibrium and still win. If I'm slower, I might need to bid above it to compensate. Speed doesn't just mean network latency — it means the entire pipeline from opportunity detection to bundle submission.

The real-world tip landscape is wide. According to Jito's documentation, tips range from the minimum floor up through various competitive levels, with the system providing real-time percentile data at the 25th, 50th, 75th, 95th, and 99th percentiles plus moving averages. During peak periods, competitive tips can climb significantly above typical levels.

This percentile data from Jito's tip stream is like checking gas prices before a road trip. It tells me the current market rate, but it doesn't tell me what my specific competitors are bidding on my specific opportunity.

The Bid Shading Dilemma

Jito runs a tip-priority competition where the highest-paying bundle wins and pays exactly what it bid. This creates what economists call the "bid shading" problem. In a second-price auction format (like eBay), you'd bid your true value because you only pay the second-highest bid. There's no penalty for bidding high. But in Jito's first-price format, you pay exactly what you bid. Bid too high and you win but give away your profit. Bid too low and you lose entirely.

Liu's analysis frames the searcher's optimization problem clearly. Each searcher maximizes the expected payoff: the probability of winning with a given bid, multiplied by the profit remaining after paying that bid. Formally, searcher i maximizes P(win with bid Ti) x (Vi - Ti).

This creates a genuine dilemma. Increase your bid and you increase your probability of winning, but decrease your profit if you win. Decrease your bid and you keep more profit if you win, but reduce your chance of winning. The Nash equilibrium formula gives the theoretically optimal balance point.

There's one silver lining in Jito's system compared to some other MEV approaches: losing bundles don't cost anything. According to Four Pillars' analysis, "failed bundles don't get recorded on-chain." Before Jito existed on Solana, searchers had to spam transactions and pay fees even on failures — multiple sources confirm that over half of Solana's transactions were failed arbitrage attempts at that time. Jito eliminated that waste. Now, losing an auction costs nothing except the lost opportunity.

This means the downside of bidding is asymmetric in a helpful way. I can bid knowing that my worst case is simply not winning — I don't get charged for the attempt. It's like being able to bid at every auction at Christie's and only paying when you actually win something.

The Compute Unit Dimension

My mental simulator needs one more dimension beyond the Nash equilibrium formula: compute unit efficiency. Because the Block Engine selects bundles based on tip per compute unit, two searchers targeting the same opportunity can have different effective competitiveness based on how efficiently their bundles use compute resources.

Imagine two searchers both spot a 1 SOL arbitrage opportunity. Searcher A crafts a bundle that uses minimal compute units. Searcher B's bundle, perhaps due to a less optimized on-chain program or more complex routing, uses significantly more. Even if both tip the same amount, Searcher A's tip-per-CU ratio is higher. The Block Engine may prefer A's bundle because it can fit more total tips into the available compute budget.

As Liu notes in the economic analysis, "if a bundle's ratio of (tip / compute_units) is low, it might be deprioritized behind smaller bundles that collectively pay more total tip."

This creates a secondary optimization axis. It's not just about how much to tip — it's about how efficiently my bundle uses compute resources. Lower CU consumption means a higher effective bid at the same tip level. This is why bundle simulation matters. Industry best practices emphasize always simulating bundles in a sandbox to verify compute limits before submission.

In my mental model, compute efficiency acts as a multiplier on my tip. If I can reduce my CU usage, it's functionally equivalent to increasing my tip — without actually paying more.

What the Sandwich Operators Reveal

The research includes a fascinating case study that validates the mental model. A widely cited MEV report analyzed a specific sandwich attack program over a 30-day period. The numbers are illuminating.

This program executed roughly 1.55 million sandwich transactions over 30 days, achieving an 88.9% success rate and generating total profits of about 65,880 SOL. But here's the key datapoint: approximately 22,760 SOL went to Jito tips — roughly 34% of gross profits.

Run that through the mental model. If the operator was paying about a third of profits as tips, what does that imply about competition levels? Using the formula T* = (n-1)/n x V, if T is approximately 34% of V, then (n-1)/n equals roughly 0.34, which implies n is approximately 1.5. That doesn't make sense as a literal competitor count, but it suggests this operator faced relatively low effective competition — perhaps because of speed advantages, specialized infrastructure, or targeting opportunities others couldn't reach.

Contrast this with the arbitrage data. Total arbitrage profits for 2024 were about $142.8 million with over 90 million successful transactions. The average profit per successful arbitrage was just $1.58. That razor-thin average suggests intense competition on arbitrage — consistent with a high n value in the formula, where searchers are bidding away most of the profit.

The lesson is clear: the type of MEV strategy you pursue determines your competitive environment, which determines your effective n, which determines how much profit you keep. Sandwich operations (which I'm not pursuing, to be clear) apparently face less direct competition than generic arbitrage. The mental model explains why.

The Speed Tax and Information Asymmetry

The Nash equilibrium formula assumes all bidders submit simultaneously with symmetric information. Reality is messier. Some searchers have infrastructure advantages — faster connections to the Block Engine, better data feeds, more efficient opportunity detection.

Liu's analysis notes that proximity to relay infrastructure provides a competitive edge, comparing it to "high-frequency trading firms" seeking co-location advantages. This is the speed tax of MEV extraction: regardless of your bidding strategy, faster competitors see and react to opportunities before you do. If they've already submitted a bundle by the time your bot detects the opportunity, your bid arrives late to an auction that's already been decided.

In my mental model, speed translates into what I call the "information advantage discount." A faster searcher can afford to bid lower because they have higher confidence they're among the first to the opportunity. A slower searcher must bid higher to compensate — but bidding higher means less profit, which means less reason to participate, which creates a natural selection pressure that pushes slower operators toward less competitive niches.

This is why the MEV extraction game isn't purely about economics — it's about infrastructure. Having a good bidding strategy matters, but having the ability to detect, evaluate, and submit within the auction's time window matters more. You can have the perfect theoretical bid, but if your bundle arrives after the auction closes, theory is worthless.

The Validator's Perspective

Flipping the model around reveals why validators benefit so reliably from this system. The Block Engine's job is to maximize tip revenue per block. With more searchers competing, bids rise toward the full value of MEV opportunities. The validator captures the difference.

This dynamic shows up in the staking data. Industry analyses suggest that generic validators offer a base APY in the range of 6-7%, while Jito-enabled validators can offer meaningfully higher yields. The premium comes directly from the MEV tips that searchers pay — tips that increase as competition intensifies.

The ecosystem-wide numbers confirm the scale: over 3.75 million SOL in total tips were paid to validators over one year, with peak daily tips reaching 60,801 SOL according to MEV reports covering 2024 data. The ecosystem processed more than three billion bundles during that period.

From the validator's perspective, the Nash equilibrium formula is great news. More competitors mean higher bids, which mean more tips, which mean higher staking yields, which attract more stake. It's a positive feedback loop — for the house.

Putting the Model to Work

So here's my mental auction simulator, boiled down to a decision framework I can run in real time:

Step 1: Estimate V. What's the gross profit of this opportunity after transaction costs but before tips? If V is too small to be worth pursuing even with no competition, skip it.

Step 2: Estimate n. How many other searchers likely see this opportunity? Popular pairs on major DEXes — assume high n. Obscure multi-hop routes through lesser-known pools — assume lower n. When in doubt, assume n is higher than you think.

Step 3: Calculate the equilibrium tip. T* = (n-1)/n x V. This is the theoretical optimal bid. At n=5, that's 80% of V. At n=10, that's 90%.

Step 4: Apply the CU efficiency adjustment. If my bundle is compute-efficient, I can shade my tip slightly below T* because my tip-per-CU ratio is still competitive. If my bundle is CU-heavy, I might need to tip above T* to compensate.

Step 5: Check the tip floor. Jito's real-time tip data provides current market conditions. If my calculated tip is below the prevailing floor, it's probably not going to land.

Step 6: Accept the math. If the remaining profit (V - T*) isn't worth the effort after accounting for infrastructure costs, this opportunity isn't for me. Move on to finding opportunities with lower n.

This last step is the hardest. The mental model makes it clear that in highly competitive auctions, the expected profit per opportunity approaches zero. The sustainable path isn't to out-bid competitors on popular opportunities — it's to find opportunities where competition is thin.

The Uncomfortable Truth the Model Reveals

Running this mental simulator over and over leads to an uncomfortable but clarifying conclusion. The Nash equilibrium formula isn't just a theoretical curiosity — it's a description of the economic gravity that shapes the entire MEV ecosystem.

As competition increases on any given opportunity type, profits compress toward zero. This is why the average arbitrage profit across the Solana ecosystem is just $1.58 — with over 90 million successful arbitrages in a year, the market is ruthlessly efficient at price discovery. The opportunities that yield large profits are, by definition, the ones that few others spotted.

For someone building a bot from scratch, this model offers both sobering realism and strategic clarity. I'm not going to out-compete established players on high-traffic arbitrage routes. They have better infrastructure, faster connections, and lower latency. Trying to compete there is like opening a fast-food franchise next to ten identical franchises — the economics just don't work.

But the model also shows where the edges might exist. Complex routing that most bots can't handle. Token pairs that aren't on the standard watchlists. Opportunities that require integrating multiple DEX types — the kind of integration work I've been grinding through over dozens of iterations on this project.

The formula T* = (n-1)/n x V doesn't just tell me how to bid. It tells me where to look. Find the opportunities where n is small, and the bidding takes care of itself.

Key Takeaways

  • Jito runs a tip-priority competition where the priority metric is tip per compute unit, not just raw tip amount — optimizing CU efficiency is as important as choosing the right tip level.
  • The Nash equilibrium formula T* = (n-1)/n x V predicts that searcher profits approach zero as competition increases — with five competitors, you're already bidding away 80% of the opportunity's value.
  • Competition is opportunity-specific, not global — bundles that touch different accounts run in parallel auctions, meaning the number of competitors varies drastically by trading pair and route complexity.
  • Losing an auction costs nothing in Jito's system (unlike pre-Jito Solana where failed arbitrage spam consumed over half of all transactions), but winning with an overbid costs everything.
  • The sustainable strategy isn't to out-bid but to out-search — the mental model makes clear that finding opportunities with low competitor counts yields far more than perfecting bid amounts on crowded routes.

Disclaimer

This article is for informational and educational purposes only and does not constitute financial, investment, legal, or professional advice. Content is produced independently and supported by advertising revenue. While we strive for accuracy, this article may contain unintentional errors or outdated information. Readers should independently verify all facts and data before making decisions. Company names and trademarks are referenced for analysis purposes under fair use principles. Always consult qualified professionals before making financial or legal decisions.