Skip to content
Finance Lessons

On-chain Arbitrage & Cross-DEX MEV

Edge, Capacity & Competition

The statistical edge of on-chain arbitrage, why its capacity is tiny next to TradFi stat-arb, and how latency and the PBS supply chain decide who actually eats.

10 min Updated Jun 18, 2026

You’ve spent five lessons learning how to find and land an on-chain arbitrage. This one zooms out and asks the cold business questions a fund manager would ask: how good is the edge, how much money can you actually put behind it, and who ends up keeping the winnings? The answers are, in order: surprisingly good, embarrassingly little, and mostly not you. Let’s earn each of those.

The statistical edge — a thin-margin, high-win-rate machine

Before you read — take a guess

An on-chain arb bot wins about 92% of the bundles it lands, each for a tiny profit, and its worst case on a failed attempt is just the gas. What does that profile most resemble?

Picture a market maker on a busy exchange: they quote a one-tick spread, get filled thousands of times a day, and pocket a sliver on each. No single trade makes them rich; the aggregate does. On-chain arbitrage has the same shape — win a high fraction of attempts, each for a small profit — with one extra gift that even a real market maker would envy.

That gift is atomicity. Recall from the flash-loan lesson: a bundle either commits in full or reverts entirely. So when a bundle fails, your downside is not a bad fill or a stranded position — it’s just the gas you paid to try. There’s no inventory to mark down, no overnight gap risk, no “the market moved against me while I was holding.” The loss is bounded and known before you press go.

Put those together and the risk profile is gorgeous:

  • High win rate — most landed bundles are profitable, because you only fire when the math already pencils out.
  • Tiny per-trade profit — each win is a small number (a cross-DEX loop nets maybe 250 USDC, a flash-loan loop maybe 450 USDC before gas).
  • Capped, known downside — a failed attempt costs gas and nothing more.

Low variance plus a positive mean is the recipe for a high Sharpe ratio — risk-adjusted return, defined as excess return per unit of volatility:

Sharpe=rˉrfσr\text{Sharpe} = \frac{\bar{r} - r_f}{\sigma_r}

Because σr\sigma_r (the standard deviation of returns) is tiny when your losses are capped at gas, the ratio can be enormous even when the average win rˉ\bar{r} is small. A thin edge with low volatility beats a fat edge that occasionally blows up.

This is fundamentally a relative-value strategy, the same family as the statistical arbitrage you met earlier: you’re not betting on a direction, you’re betting that two related prices that have drifted apart will snap back together. But on-chain arb is a special relative-value trade in two ways. It’s self-closing — your own buy-low/sell-high loop is the very force that drags the two pools back to the converged price (~1999 in the cross-DEX example), so the trade closes itself in the same atomic instant. And it’s effectively long-only: you never have to short or hold a position waiting for convergence; you open and close in one block.

Warning:

A high win rate is not a free win rate

“92% of bundles profit” hides the bundles that never landed. Reverted attempts still burn gas, and in a hot auction you can lose the race far more often than you win it. Sharpe looks heavenly only if you measure returns over every attempt — including the silent, gas-burning misses — not just the bundles that committed. Survivorship bias is how a thin edge looks like a sure thing right up until it isn’t.

Match each feature of the on-chain arb edge to why it matters.

Pick a term, then click its definition.

When it matters

Whenever you’re tempted to judge the strategy by its per-trade profit and sneer “250 USDC, who cares?” The point of a thin-margin machine is throughput and consistency, not the size of any single win. You evaluate it on risk-adjusted return across thousands of attempts, the way you’d evaluate a market maker — not on the jackpot you’d want from a directional bet.

Capacity — why on-chain arb is a small business

Before you read — take a guess

The cross-DEX opportunity from lesson 2 nets about 250 USDC at the optimal trade size of ~2.5 ETH. A fund hands you 100× the capital. How much more profit can you wring from THAT SAME opportunity?

Here’s the word that humbles every on-chain arbitrageur. Capacity is the most capital a strategy can deploy before its own market impact eats the edge — the ceiling on how much money the strategy can usefully absorb. It’s not “how much can I afford”; it’s “how much can the market swallow before I’m trading against myself.”

And on-chain arb’s capacity is brutally small, for a reason you already proved back in lesson 2. AMM pools have finite depth: every unit you trade moves the price further against you. We computed the optimal cross-DEX size at about 2.5 ETH, netting roughly 250 USDC as the two prices converged near 1999. Now try to force more through the same pools:

Trade sizeWhat happensNet result
~2.5 ETH (optimal)Captures most of the gap before impact bites~+$250
~5 ETHYour own buying drags the prices together earlyLower than $250
~10 ETHImpact overshoots convergence; you push past 1999Negative

The optimum isn’t a budget you set — it’s a property of the pools. Pool depth caps the trade size, the trade-size cap bounds the dollar profit per opportunity, and no amount of extra capital lifts that ceiling. You can’t scale a single opportunity by throwing money at it; you can only wait for the next gap, on the market’s schedule, not yours.

Contrast that with TradFi statistical arbitrage, which runs in deep, liquid markets — large-cap equities, futures, FX — where a single name absorbs millions of dollars without flinching. A stat-arb fund can deploy enormous capital across thousands of deep instruments, so even a thinner per-dollar edge compounds into a large total. On-chain arb has the better edge and the worse capacity: a fantastic return on a small pile of money.

Warning:

Great returns, tiny absolute dollars

A 5,000% annualized return sounds like you should mortgage the house. But if capacity caps your working capital at a few hundred thousand dollars, “5,000%” is still a small absolute number — and it won’t grow just because you found more cash. This is why on-chain arb is dominated by lean, specialized shops rather than the giant multi-strategy funds that need somewhere to park billions. The edge is real; the pond is just small.

Fill in the capacity story.

Choose the correct option for each blank and check.

Capacity is the most capital a strategy can deploy before its own eats the edge. For on-chain arb it's small because AMM caps the optimal trade size — pushing 10 ETH through the lesson-2 pools turns the net .

When it matters

Capacity is the first question a serious allocator asks and the last thing an excited beginner thinks about. It matters the moment you stop asking “what’s my return %?” and start asking “how many dollars can this strategy actually make per month?” A blistering percentage on a tiny base is a hobby with great optics; knowing your capacity ceiling is what separates a real (if modest) business from a backtest fantasy.

Competition & latency — a speed-and-search game

Before you read — take a guess

A juicy cross-DEX spread appears in the public mempool. Forty bots see it at the same instant. What does winning it mostly come down to?

When an opportunity is public — sitting in the mempool for everyone to see — finding it is no longer the hard part. Everyone found it. The game collapses into three brutal questions: who sees it first, who computes the optimal response fastest, and who bids the most for the block slot that captures it. Discovery stops being an edge the instant the opportunity is shared.

So the levers that actually decide the winner are:

  • Latency — raw speed. Co-located infra, optimized clients, microseconds shaved off detection and submission. The fast bot reacts before the slow one finishes parsing the block.
  • Search quality — better algorithms that find the optimal loop (right path, right size) faster and more completely than rivals.
  • Bidding in the PBS supply chain — getting your bundle included and ordered correctly by paying up the chain: searcher → builder → relay → proposer. You hand your bundle to a builder, the builder assembles a block and forwards it via a relay to the proposer (the validator), who signs it. Each link wants its cut.

And here’s the result that should be familiar by now, because it’s the same auction from the cost-stack lesson: when many searchers chase the same public opportunity, the priority fee is bid up to the marginal cost of playing. Profit gets competed down until the last searcher willing to play is barely breaking even — and the surplus leaks upstream to the builders and validators who sell block space. On the canonical 1000-USDC spread at high competition, the searcher kept ~96 USDC while ~864 USDC went to the block. The work was yours; the money was theirs.

Warning:

Winning the public race can still lose you money

The winner’s curse is real here. If forty bots bid for one spread, the one who bids the most wins — which often means the one who most overestimated the spread or underpriced their own gas and impact. Win enough public auctions by overbidding and you’ll bleed out faster than the bots who lost. The durable edge isn’t winning loud public races; it’s playing where there’s no crowd to bid against — private orderflow, novel venues, exclusive relationships — so your effective competition stays low.

Sort each lever by whether it helps you WIN a public opportunity or merely DECIDES who pays whom once you've won.

Place each item in the right group.

  • Priority fee bid up to your breakeven
  • Lower detection-and-submission latency
  • The relay forwarding your bundle for a cut
  • Better search for the optimal loop
  • Builder and validator taking the auction surplus

When it matters

It matters every time an opportunity is visible to everyone. Public, obvious spreads on liquid pairs are the most competitive and therefore the least profitable — the auction eats them. The whole strategic game is to avoid that fight: lower your latency so you win the races you must enter, sharpen your search so you find loops others miss, and above all find orderflow others can’t see so there’s nobody to bid against in the first place.

On-chain arb vs TradFi stat-arb — the side-by-side

Before you read — take a guess

Compared to a TradFi statistical-arbitrage fund, on-chain arbitrage is best described as having...

Both strategies are relative-value bets on prices converging. But the mechanics and the economics diverge hard. Here’s the head-to-head:

On-chain arbitrageTradFi statistical arbitrage
ShortingNo — long-only, the loop self-closes in one blockYes — routinely longs the cheap leg and shorts the rich one
SettlementAtomic — commits in full or reverts; no inventoryExecution risk — fills can slip, legs can break, positions held over time
Capital neededNear-zero — flash loans front the principal (e.g. borrow 100,000, repay in-bundle)Real capital — you must fund and finance every position
CapacityTiny — AMM depth caps size (oversize the 2.5-ETH loop and it goes negative)Large — deep, liquid markets absorb millions per name
Who captures the edgeMostly builders and validators via the PBS auctionMostly the fund itself
Downside on a missJust gas — bounded and known up frontMark-to-market losses, gap risk, financing costs

Read the table as a single sentence: on-chain arb has the better mechanics and the worse economics-of-keeping-it. It’s cleaner to run (atomic, long-only, capital-light) but you can’t scale it and you don’t get to keep much of what you find. TradFi stat-arb is messier to run (real capital, real execution risk, actual shorting) but it scales to serious money and the fund keeps its winnings instead of handing them to a validator.

Info:

Two honest businesses, different shapes

Neither is “better” in the abstract. On-chain arb is a high-Sharpe, low-capacity, operationally elegant game where your hardest problems are latency, search, and a low-β source of orderflow. TradFi stat-arb is a high-capacity game where your hardest problems are capital, financing, borrow availability, and execution risk. Pick the one whose hard problems you’re actually equipped to solve — and never assume the clean edge is the lucrative one.

Which two statements correctly capture differences between on-chain arb and TradFi stat-arb?

When it matters

This comparison matters the instant someone pitches you “DeFi arbitrage prints free money, way better than boring TradFi funds.” The honest answer is: better edge per dollar and cleaner mechanics, but a tiny capacity and an auction that captures most of the spread. Knowing which axis you’re optimizing — risk-adjusted return on a small base versus total dollars at scale — is the difference between an informed strategy choice and a hype-driven one.

Recap

Big picture

Edge, capacity and competition

  • Edge capacity competition
    • Statistical edge
      • High win rate thin margin
      • Atomic capped downside
      • Self-closing long-only
    • Capacity
      • AMM depth caps size
      • Oversize goes negative
      • Small absolute dollars
    • Competition and latency
      • Speed and search game
      • Searcher builder relay proposer
      • Profit leaks upstream
    • Versus TradFi stat-arb
      • Cleaner mechanics
      • Worse capacity
      • Fund keeps less
On-chain arb has a high-Sharpe edge but a tiny capacity, and most of the spread leaks upstream through the PBS auction.

Edge, capacity and competition — mixed recap

Question 1 of 60 correct

Why can on-chain arbitrage post a high Sharpe ratio despite a tiny per-trade profit?

Check your answer to continue.

Mark lesson as complete