AILEENA MACHINA

Market Structure · 2026.05.21

The Darkest Trade

CEX-DEX arbitrage is the largest single MEV category on Ethereum, the quietest game on Solana, and the only profitable strategy where one leg of the trade is invisible to the chain you are trading on.

CEX · DEX · MEV · Dune

▸ Narrated reading · 2026.05.21

The Darkest Trade

Press play for a narrated reading — English-accent female where available.

0:00
0:00

The Two-Cent Spread

Picture this. SOL is quoted at $172.41 on Binance — a CEX, a centralized exchange where one company runs the order book. Twenty milliseconds later, the same SOL is quoted at $172.46 on a Solana DEX — a decentralized exchange that lives entirely on-chain. Why have the two prices drifted apart? Because they aren't the same machine. Binance updates its order book maybe a thousand times a second over a private matching engine. The DEX only updates when someone submits a transaction that lands in the next block — and that happens once every 400 milliseconds on Solana, once every twelve seconds on Ethereum.

That five-cent gap is basically a free option. Buy on Binance, sell on the DEX at the same instant, and if you move before either price catches up you've pocketed five cents on a position you never had to hold. Do it a thousand times in one block and that's fifty dollars in a single 400-millisecond slot. Do it for a year and you've built a profit pool the public chain data can't explain on its own — because half of the trade never touched the chain at all.

This is CEX-DEX arbitrage. On Ethereum it's the single largest category of extracted value. On Solana it's the most under-measured form of MEV — maximal extractable value, which is just the profit you can squeeze out of ordering and inserting transactions. Until 2025 nobody had a clean public number for how big it was. That changed when a group of researchers — Sui414, William, soispoke, and malleshpai — released a custom Dune dataset that finally let outsiders see it.

Two Flavors of the Trade

There are two distinct CEX-DEX strategies, and they live on different parts of the order book.

PRICE ARB

Spot price on a CEX drifts away from spot price on a DEX. Buy the cheap one, sell the expensive one, hold no inventory at the end of the slot.

The classic two-legged trade. Capacity bounded by DEX liquidity at depth.

FUNDING RATE ARB

Perpetual funding rate differs between a CEX perp and a DEX perp. Long the cheaper funding, short the more expensive funding, collect the spread per hour.

Carry trade, not directional. Capacity bounded by venue OI (open interest — the total size of outstanding positions) caps.

Drift's educational write-up gives the textbook retail version. SOL spot at $13.179 on Binance versus $13.21 on Orca is a price-arb opportunity worth $0.031 per unit. A SOL-PERP funding rate — the periodic payment that keeps a perpetual future tethered to spot — of0.003% hourly on Binance versus -0.00511% hourly on Drift is a funding-arb opportunity worth that spread every hour, for as long as it holds. The mechanics differ, but the engineering problem is the same: move capital between two venues fast enough that the spread doesn't close while you're mid-trade.

Why They Call It "Dark"

Most MEV leaves a complete fingerprint on the blockchain. Sandwich attacks, JIT liquidity, on-chain DEX-to-DEX arbitrage — it's all right there in the ledger. The bot's transaction is there. The pool it touched is there. The user it extracted from is there. You can write a Dune query, count the swaps, sum the profit, and rank the searchers — a searcher being the bot operator hunting for these gaps. Every step of the proof sits on a public ledger.

CEX-DEX arbitrage is different, because one leg of the trade is off-chain. You can watch a searcher swap a million USDC for SOL on Uniswap or Orca. But the hedging short on Binance that actually locked in the profit? Invisible. It lives inside a private matching engine you can't subpoena. The chain only ever shows you half the picture.

The 2025 paper by Sui414 et al., titled Measuring CEX-DEX Extracted Value and Searcher Profitability: The Darkest of the MEV Dark Forest, is the first serious attempt to reconstruct that hidden leg. The trick is to work backwards. You spot the on-chain leg of the arbitrage by its shape — atomic (the whole thing settles in one all-or-nothing transaction), large, and followed by no offsetting trade — then check the CEX price at the same block time to estimate the spread the searcher captured. Aggregate that over millions of trades and you finally have a number for the size of the market.

The Numbers

Over the August 2023 to March 2025 window — 19 months — the researchers identified 7,203,560 CEX-DEX arbitrage trades and estimated $233.8 million in extracted value across them. That works out to about $32 per trade. Sounds tiny, until you remember these trades are atomic and risk-free in the way arbitrage is supposed to be: by the time the on-chain leg confirms, the CEX leg is already done.

MetricValueNotes
Period studiedAug 2023 – Mar 202519 months
Trades identified7,203,560On-chain leg only
Extracted value$233.8MEstimated from spread × size
Average per trade$32Risk-bounded
Identified searchers19Top 3 captured 75% of volume and value

Source: Sui414 et al., arxiv 2507.13023v2 (2025).

The most interesting finding is how concentrated it all is. Three searchers controlled three quarters of the extracted value over the entire study period. CEX-DEX isn't a long-tail competitive market like DEX-to-DEX arbitrage — it's an oligopoly. And the barriers to entry aren't technical; the code is straightforward. They're operational. You need real-time, low-latency feeds from multiple CEXes, inventory parked on both sides, a settlement loop that nets out your exposures continuously, and enough volume on each venue that your own trades don't tip off the market. A solo searcher has none of that.

The Dashboard

The paper's authors open-sourced the Dune queries that drive the analysis, so you can fork them and watch the market live. Two of them are worth knowing by name.

Public dashboard

CEX-DEX Arbitrage — full coverage view

The full dashboard that accompanies the arxiv paper. Volume, value, leaderboard, pool breakdown, and per-searcher profitability across the entire 19-month window.

Single query

Arbitrage profit per block, DEX ↔ CEX

Forkable single query. The atomic building block — block-by-block view of how much CEX-DEX profit is being captured, by who, on which pool.

The clever trick in the methodology is the markout — checking the CEX price at a few moments after a trade to see what the searcher could have captured. Because the CEX leg is invisible, you can never know exactly when the searcher hedged. So the queries don't even try. They check the CEX price at the block time, then again at a few offsets after (1 second, 5 seconds, 30 seconds), and assume the searcher captured something close to the average. For any single trade the estimate is noisy, but it converges fast once you aggregate across millions of them.

There's also a Python script for pulling the same dataset through the Dune API, published right alongside the queries. So you don't even need a Dune subscription to reproduce the headline numbers — grab the raw CSV and run your own analysis offline.

Why Solana Changes the DEX Leg

Almost all the public research on CEX-DEX arbitrage uses Ethereum data. There the DEX leg is Uniswap V3 or Curve (leading Ethereum DEXs), and the on-chain economics are dominated by Ethereum's 12-second blocks and high gas fees — gas being the per-transaction fee you pay to get your trade included. Solana flips both of those inputs.

A Solana block lands every 400 milliseconds, not every 12 seconds. The base fee on a swap is 5,000 lamports per signature, not $5. So a bot can attempt twenty times as many CEX-DEX trades per minute, at a tiny fraction of the cost per attempt. That changes which opportunities are even worth chasing: spreads that would never clear gas on Ethereum clear easily on Solana. It's part of why Solana's DEX prices have tracked CEX prices so tightly in 2025 despite a 90% drop in DEX volume since 2024 — the arbitrage pressure is doing more work per unit of liquidity.

EthereumSolana
Block time12 s400 ms
Min fee per swap$1 – $10 typical5,000 lamports / signature base
Atomicity modelBundle via Flashbots / MEV-Boost (transaction-ordering / bundle services)Bundle via Jito / Samba; flash loans within one tx
Read-the-mempool latencyPublic mempool, hundreds of msNo public mempool; ShredStream / Jito relay, sub-100 ms
Min profitable spread$30 to clear gas + bid$0.50 with priority fee

Ranges illustrative, based on Helius MEV Report and public protocol fee schedules.

The atomicity model is the part that matters most. On Ethereum, the DEX leg can be a multi-step transaction bundle. On Solana, you get the same effect with a flash loan inside a single transaction — an uncollateralized loan that has to be borrowed and repaid in the same transaction or the whole thing unwinds. Borrow a million USDC, do the swap, hedge the CEX leg out of band, repay the loan, all inside the 400ms slot. If the spread closes mid-flight, the transaction just reverts and the only thing you're out is the priority fee. That asymmetry is what makes Solana's DEX leg attractive for high-frequency CEX-DEX strategies even when the spread is small.

WHAT IS NOT IN PUBLIC DATA

The arxiv paper's 7.2M trades are mostly Ethereum activity, because that's where the DEX leg is easiest to read. The equivalent Solana number is much harder to pin down publicly. Solana has no public mempool — no shared waiting room of pending transactions to watch — the on-chain leg can be deeply tangled up with non-arbitrage activity in the same transaction, and the relevant Dune tables are still maturing. So treat any public Solana CEX-DEX size estimate with the same skepticism the paper applies to its own Ethereum estimates.

The Builder's Map

Two pieces of work are worth reading if you want to build instead of just measure.

CEX-DEX ARB RESEARCH

An open-source research template (real-time CEX and DEX feeds, spread detection, hookable execution layer) circulating in the MEV builder community. The starting point most builders use.

WHACK-A-MOLE WRITEUP

A public long-form writeup walking through the first version of such a bot. Useful as a pedagogical walk-through — what works, what doesn't, and which assumptions about latency turn out to be wrong in production.

Neither of these will make you competitive with the top three searchers in the paper. They're starting points for understanding the shape of the problem, not a production stack. The real edge lives in the things that cost money: colocated CEX connections (your servers sitting physically next to the exchange's), sub-millisecond market data feeds, real-time inventory netting, and — increasingly on Solana — a relationship with a stake-weighted relay so your DEX-leg transactions don't sit behind everyone else's public traffic.

Where to Read the Spread on Solana

If you want to watch the same kind of trade happen on Solana rather than Ethereum, start at the layer below the DEX swap — the mempool-equivalent. Solana doesn't have a public mempool the way Ethereum does, but it does have ShredStream and the Jito relay, both of which expose in-flight transactions to subscribers before they land in a block. A CEX-DEX searcher on Solana is reading from one of these (or both), comparing the implied DEX-leg price against a live CEX quote, and firing off the arbitrage transaction with a priority fee tuned to land in the next slot.

The companion piece The Wire — How Solana Actually Moves Bytescovers ShredStream, the leader schedule, and commitment levels in detail; the Wire Speed piece covers the validator architecture that makes Solana's tight slot timing possible in the first place. CEX-DEX arb is the trade that pays for that infrastructure.

The Mental Model

A CEX-DEX arbitrage is a single trade with two execution clocks: a 1-millisecond clock for the CEX leg, and a 400-millisecond (or 12-second) clock for the DEX leg. The job is to keep both clocks synchronised long enough to extract the gap, then unwind without leaving inventory on either side.

Every engineering choice in this game comes back to that one tension. Why pay for co-location? Because it shrinks the CEX clock toward zero. Why is Solana's 400ms slot attractive? Because it shrinks the DEX clock toward the CEX clock. Why are flash loans useful? Because they let the DEX leg behave atomically — collapse if either side fails — which removes the asymmetric risk of being left holding the bag on a half-completed trade.

CEX-DEX is "the darkest of the dark forest" not because it's hidden by design, but because half of the relevant data lives on a private matching engine nobody can access. The Dune queries above aren't measuring the trade directly — they're measuring its on-chain shadow. That shadow is enough to estimate $233.8M of extracted value over 19 months, reveal the oligopoly structure of the searcher market, and watch the spreads open and close block by block. It is not enough to copy what the top three searchers are doing, because the code path that matters is the one you can't see.

References

  1. Sui414, William, soispoke, malleshpai — Measuring CEX-DEX Extracted Value and Searcher Profitability (arxiv 2507.13023v2)
  2. CEX-DEX Arbitrage 💰 — main Dune dashboard for the paper
  3. Arbitrage profit per block, DEX ↔ CEX — forkable Dune query
  4. Dune — official X thread summarising the dataset
  5. Drift Learn — How To Arbitrage between CEXs & DEXs (price arb vs funding rate arb)
  6. Helius — Solana MEV Report
  7. Analysis of CEX-DEX Arbitrage Opportunities with Hidden Markov Models — ACM Web Conference 2026
  8. DexAnalytics TLDR — Analysis of CEX/DEX Arbitrage
  9. Solid Quant — Whack-A-Mole: how I built my first MEV arbitrage bot
  10. Solid Quant — cex-dex-arb-research (GitHub template)
  11. crypto.news — Solana DEXs match CEX pricing as on-chain liquidity evolves
  12. The Wire — How Solana Actually Moves Bytes (companion piece)
  13. Solana at Wire Speed — validator architecture (companion piece)
  14. The RPC Layer That Cut the Cord — RPC provider landscape (companion piece)
← Back to Archive
← Home