Crypto arbitrage - 139 million trades, 69 cents each
One Ethereum contract appears to earn several hundred thousand dollars a trade. It moved close to half a billion dollars worth of ether through a single month. When we checked what it actually had at the end, the answer was about $1,700. We went looking for how much of on-chain arbitrage is like that.
01 — The machineThe wallet that moved half a billion and kept nothing
On Ethereum there is a contract that looks like the most profitable trading operation on the chain. Its trades run in pairs. It hands over a fraction of an ether, receives a couple of million units of an obscure token, sells them straight back, and finishes holding 435 ether. On paper that is roughly $900,000, from a starting stake of about $260.
It did this 29 times in a month. Those 29 transactions account for more than half of the raw, unfiltered profit our scan recorded in that one month across five blockchains, before any credibility test.
So we looked at what the contract held. Every token that moved in or out of it, for 30 days.
| The contract's own balance sheet, 30 days | Ether |
|---|---|
| Received | 220,644.816 |
| Sent | 220,643.980 |
| Net position at the end of the month | 0.836 — about $1,700 |
| Transfers involved | 9,802 |
It moved close to half a billion dollars worth of ether through the month and finished with roughly the price of a used laptop. The pool it traded against tells the same story from the other side: 873.26 ether went in over the month, 873.23 came out. Nothing was drained. The money went round in a circle and came back.
What happened here has a name. It is arbitrage, counted one transaction at a time, and nothing about it is fraudulent. The numbers look the way they do because of how arbitrage gets counted. Bitquery indexes trades across the major blockchains, so we went looking for how much of the reported total behaves like this one. We examined a full year across Ethereum, BNB Chain, Base, Arbitrum and Polygon, plus six years of history on Ethereum, BNB Chain and Polygon, and applied one test to every trade: did the profit exceed the money the trade itself put at risk. What survived that test is a much smaller business, and it is the one worth describing: what it earns, who takes a cut before the trader sees it, and why the figure most often quoted for on-chain arbitrage is far larger than the money anyone keeps.
One limitation belongs at the top rather than the bottom. Our totals are floors. Some trading venues publish their trades in a format that standard datasets do not read, and a trade we cannot see is a trade we cannot count.
02 — The premiseWhat arbitrage actually is, and why software does it
If a currency costs slightly more in one place than another, you can buy it cheaply and sell it dear, and the difference is yours. That is arbitrage. It is one of the oldest trades there is, and in ordinary markets it is over in the time it takes a computer to notice.
Blockchains made it unusually easy. Anyone can create a trading pool, so the same pair of tokens is quoted in dozens of places at once, and those quotes drift apart every time somebody trades. Every one of those quotes is public, which is what makes work like this possible: the Ethereum and BNB Chain records carry each swap individually. They also made it unusually safe. On these chains a trade can be built so that every step happens together or none of them do. A trader can buy in one pool and sell in another inside a single transaction, and if the second half fails the first half never happened. The trade cannot go half-finished, which removes the risk that makes arbitrage dangerous elsewhere.
That combination gave crypto arbitrage its reputation as the closest thing to free money in the market. The catch is that it is free for everybody. Nothing stops a second operator from writing the same software, and nothing stops a hundredth.
The trade cannot go half-finished. That is what made it attractive, and it is also why the edge did not survive.
03 — The countWhy the headline figure is too big
Detecting arbitrage looks simple. Take a transaction, add up every token that moved, and if nothing came out negative and something came out positive, the trader ended ahead. Across the year that test flags around 160 million transactions and about $762 million of profit.
That figure is wrong, and the contract in section one shows why. Its trades pass the test. The tokens balance and the ether comes out positive, so a counter records several hundred thousand dollars of profit and moves on. What the counter cannot see is that the operator gives the ether back in a different transaction, hours or days later. The returning trade is in our data. It fails the arbitrage test, because in that one the trader ends down, so it is discarded. The profitable half is counted and the offsetting half is thrown away.
We applied a second test to every trade: the profit is only credible if it did not exceed the money that same transaction put in. A trade that turns $260 into $900,000 in one step did not earn that from a price difference.
| Twelve months, five chains | Detected → credible |
|---|---|
| Arbitrage transactions | 160,635,133 → 139,058,209 |
| Reported profit | $762,540,067 → $100,530,164 |
| Share of the reported figure that survives | 13.2% |
| After fees | $95,805,553 |
Roughly seven eighths of the headline number comes from trades where the profit is larger than the stake. This is not a flaw in the data. Every leg of those trades is present. It is a limit of counting one transaction at a time, and any figure produced that way carries it.
Counting one transaction at a time has a second consequence, and it runs the other way. A trade only registers as arbitrage when every one of its steps is visible. Miss one step and the tokens stop balancing, something appears to have gone missing, and the whole transaction is filed as an ordinary swap. A venue that publishes its trades in a format a dataset does not read does not make arbitrage look smaller. It makes it disappear. We found one such class of pool on these chains, reconstructed the format from the raw records and folded it back in, which returned about 80,000 cycles to the year that were otherwise invisible. Three more venues on Ethereum are still only partly readable, and whatever they hold is not in any number here.
04 — The declineSix years, and the money went out of it
The record is long enough on three of these chains to show the whole arc. Ethereum, BNB Chain and Polygon each carry an unbroken monthly record back to 2020, and all three peaked in the same year. Base and Arbitrum are younger, so they appear in the twelve-month comparison but not here.
It is worth measuring in each chain's own token rather than dollars. Ether's price swung by a factor of ten across these years, and a dollar chart mostly plots that swing. The choice matters far more for Polygon.
Ethereum's line is the cleanest. The first 8 months of this year came to under 4% of the peak. In dollars it is 3%, and the two agree because ether's price is not far from where it was.
Counted in POL, Polygon keeps nearly a third of its peak. Counted in dollars it keeps 2%, because the token itself lost 95% of its value. Both are true.
A collapse like that usually means people left. On two of the three chains, more contracts were running at the end than at the peak.
| Peak year → 2026 | Ethereum | BNB Chain | Polygon |
|---|---|---|---|
| Credible trades per year, scaled to a full year | 2.0M → 3.8M | 19.8M → 94.5M | 17.7M → 4.5M |
| Distinct executor contracts, busiest month | 592 → 919 | 1,024 → 673 | 754 → 1,687 |
| Profit per trade | $320 → $7.74 | $13.56 → $0.35 | $1.38 → $0.22 |
| Return on the capital committed | 1.74% → 0.75% | 1.34% → 0.26% | 1.02% → 0.17% |
One operator can run several contracts and one contract can serve many keys, so this counts bots rather than people. On Ethereum the count of bots set a record in 2026, with nearly twice the trades of the peak year for a fortieth of the money per attempt. On Polygon the count more than doubled, and the picture underneath it changed shape: contracts trading at least 10 times a month nearly doubled, from 176 to 329, while the busiest tier, 100 or more a month, halved, from 121 to 58. More bots, smaller ones. On BNB Chain the machine count fell to 673 from 1,024 while trades rose to 4.8 times the peak year. The opportunity was competed away rather than displaced, which is what markets are supposed to do to easy profits, and on every chain it took about five years. These margins come from the six-year method and should not be set against the twelve-month margins, which come from a different one.
05 — The spreadFive chains running the same business
Blockchains differ in ways that ought to matter to a trader. Base, Arbitrum and Polygon settle far more cheaply than Ethereum does, and fees vary between them by a factor of a thousand. Blocks arrive every couple of seconds on one chain and every 12 seconds on another. Some have a private market where traders pay to have their transaction placed; others have nothing of the kind.
None of it shows up in the margin.
Five different fee structures, five different block schedules, and a spread of three tenths of a percentage point between the best and the worst. Robinhood Chain, open to trading for only 2 months, clears a similar rate, though we measured it before applying the credibility test, so it is an indication rather than a like-for-like comparison.
Where the chains genuinely differ is size. Ethereum's arbitrage trades are ten times larger than anybody else's and it does very few of them. BNB Chain does seven out of every ten trades on these five chains and earns about 60 cents on each.
06 — The dustHalf of these trades book less than a penny
Sorting every credible trade by what it booked produces the least glamorous finding in the dataset. Just under half of them earn less than a penny, and after fees that group is collectively in the red.
Millions of transactions close loops worth fractions of a cent, run by software for which one more attempt costs almost nothing. At the other end, fewer than 3,000 trades in the whole month earn a third of all the profit. The business is a very small number of worthwhile trades hiding inside an enormous amount of noise.
07 — The cutWho actually keeps the money
The operator who finds the trade is rarely the only one paid. On chains where transaction ordering is bought and sold, most of the profit is handed on for the privilege of going first.
| Where a dollar of Ethereum arbitrage profit ends up, 30 days | Share |
|---|---|
| Paid to the party that assembles the block | 49.3% |
| Burnt as network fees | 9.4% |
| Kept by the operator | 41.3% |
On BNB Chain the toll is heavier still. Payments from the busiest operators to a single relay address run to roughly the same size as their entire measured profit, in millions of separate payments with a median value near 1.25 cents. That figure is an upper bound rather than a measurement, because those operators send other transactions too and we cannot separate every one.
Base, Arbitrum and Polygon pay their block producers nothing inside the arbitrage transaction itself. We found no bribe market on those chains, so the operator keeps everything after fees. Where ordering is auctioned off to one side of the trade, this measurement does not reach it. The absence of that market is the clearest structural difference we found between the chains, and it does not show up in their margins.
Sandwiching, the practice of surrounding somebody else's trade to move the price against them, turns out to be a smaller business than its reputation suggests. On Ethereum, 45 addresses account for essentially all of it, earning about a fifth of what arbitrage earns on the same chain in the same month. On Base and BNB Chain the practice lost money over our window. Arbitrum recorded none.
08 — The concentrationThe days that carry the year
Averages hide the shape of this business. On BNB Chain, 3 days in December account for close to a quarter of the entire year's profit. On the largest of them, 100 transactions out of nearly 265,000 hold almost all of the day's money.
| BNB Chain, 19 December 2025 | Value |
|---|---|
| Credible arbitrage trades that day | 264,969 |
| Profit | $7.1 million |
| Share held by the top 100 trades | 99.5% |
| Average for the other 264,869 trades | 13 cents |
We traced those trades leg by leg. They are real. An operator was buying a thinly traded token on one venue and selling it on another, settling in dollars, over and over. The returns are enormous because almost nobody else trades that token, which is the same reason the opportunity existed at all. Remove that one month and BNB Chain's margin for the year drops by a third.
This is why an arbitrage total quoted on its own is close to meaningless. On both chains where the headline is large, the headline is a handful of trades. We have found the same shape before: a fraction of one percent of Polymarket's wallets placed most of its trades, and three addresses drove most of Robinhood Chain's early volume.
09 — The venuesWhere the trades actually happen
Across the five chains our scan covers 21 distinct exchange protocols and just under 200,000 individual pools. Uniswap is on every chain and dominates all of them, running from about half of trades on Arbitrum to nearly all of them on Polygon. Polygon's figure excludes Polymarket, the prediction market that accounts for most of that chain's activity and trades outcome shares rather than token pairs.
| The most common trade routes, 30 days (7 days for BNB Chain) | Share |
|---|---|
| Base — Uniswap against PancakeSwap | 48.6% |
| Base — inside Uniswap alone | 46.3% |
| BNB Chain — Uniswap against PancakeSwap | 41.9% |
| Ethereum — inside Uniswap alone | 78.0% |
| Polygon — inside Uniswap alone | 92.8% |
On Base the two dominant routes are almost the same size by trade count, and one earns nearly six times the margin of the other. The profitable one stays inside a single exchange and moves between its own pools. Crossing between exchanges moves more money and keeps less of it.
10 — The limitsWhat this does not show
Every figure here is a floor. Three further Ethereum venues are between 45% and 60% invisible to standard decoding, and we have not yet recovered them. Whatever they hold would add to these totals. Anyone wanting to check a figure here can query the same trade records through the DEX trade API or the MCP server.
Polygon is missing 2 months. In January the raw blocks were recorded but the trades were never decoded from them, and 17 days of December are absent entirely. Its annual figure covers about 10 months of the year and should not be scaled up to 12.
Credible profit measures capital that was put at risk and came back with a surplus. It is a ceiling on what could have been earned rather than a record of what anyone banked. Someone who reconciled every operator's wallet individually would arrive at a smaller number again. We did that for the largest operators on each chain, which is how we know the contract in section one ended its month with less than one ether.
| The record | Address or transaction |
|---|---|
| The Ethereum contract in section one | 0xa462d9ac…8c27a1 |
| The pool it traded against | 0x3187feb2…63c30f |
| One of its 435-ether trades | 0x5d815346…3114ad |
| The second-largest Ethereum operator, which ended the month down 59.5 ether | 0x1f2f10d1…6df387 |
| The BNB Chain token behind the December concentration | 0x586a74a6c7375a507e3e3ddfef891cb9d2477777 |
| The BNB Chain relay that collects the ordering toll | 0x4848489f0b2bedd788c696e2d79b6b69d7484848 |
This analysis covers Ethereum, BNB Chain, Base, Arbitrum and Polygon for the 12 months to 29 August 2026, plus history from 2020 on Ethereum, BNB Chain and Polygon. Optimism was measured and then excluded from the published totals. Solana and other non-EVM chains are out of scope and these figures are not a cross-chain total.
All profit figures are restricted to trades whose surplus did not exceed the capital the same transaction committed. That test is arithmetic and needs no outside data, but it measures capital at risk rather than money banked. Wallet-level reconciliation of the largest operators on each chain returns smaller numbers again.
Native tokens are converted at a fixed reference rate for the twelve-month window rather than at spot on each day, so that month-to-month movement reflects trading activity rather than token price. The six-year series uses a monthly price for each chain, because a fixed rate cannot describe six years.
Polygon excludes Polymarket, which is a prediction market rather than an exchange pool. Base fee data for June 2026 is excluded because the source figures for that month are inflated by a factor we have reported upstream. BNB Chain coverage of the specialist pools in section ten reaches back about 25 days, so no trend should be read from that chain's figure.
Payments to block builders and relays are attributed to the addresses that received them. They are not statements about the conduct of any named company.
Run this kind of analysis on your own data
Every figure in this investigation came from Bitquery's multi-chain archive: trades, transfers and pools across 40+ networks, with the raw event records behind them. The same data powers trading desks, risk teams and on-chain research.