Solana Execution Data Join the waitlist

Analysis · data recorded on 26 October 2026

Orca's SOL/USDC pool charges 4 bp a swap. The median trade in it paid 0.7 bp

What SOL/USDC trades on Solana actually pay: one evening of swaps on Solana's main DEXs, each priced against Binance at the moment it executed.

On Monday 26 October 2026 we recorded Solana's DEXs for five and a half hours (16:30–21:57 UTC), transaction by transaction, together with Binance and Coinbase quotes on the same clock. Then we asked a simple question: when someone swaps SOL for USDC on Solana, what do they actually pay?

The headline surprised us. Orca's main SOL/USDC pool charges 0.04% (4 basis points) on every swap. Yet against the market mid at the moment of execution, its median buy paid 0.72 bp and its median sell 0.64 bp, fee included. Nine trades in ten paid less than 2 bp. The fee tells you what a pool charges. It doesn't tell you what the trades in it pay.

TL;DR

What we recorded

A Yellowstone gRPC stream at the confirmed commitment, filtered on 25 DEX programs and decoded live:

Window 26 Oct 2026, 16:30–21:57 UTC (5 h 28 min)
Transactions 10,217,182 that executed a DEX program (failed ones excluded)
Swaps decoded 4,080,004: PumpSwap 3,397,965 · Meteora DLMM 344,806 · Orca Whirlpool 337,233
Reconciled 99.97% · 95.53% · 99.77% of those swaps match the pool's balance changes exactly
Other venues 7,342,430 balance changes on 22 more venues, proprietary AMMs and order books included
SOL/USDC trades 141,022 identified, from 0.01 SOL up, on 17 venues; the venue tables use the 69,117 of 1–100 SOL on the 12 venues with enough of both sides
Reference prices 497,089 Binance SOLUSDT quotes (best bid and ask, about 25 a second) and 16,578 Coinbase SOL-USD ones, on the same clock
Gaps two 7-second stream drops: 67 of 92,492 slots missing (0.07%), and flagged

For PumpSwap, Orca and Meteora DLMM we read each swap from the token transfers in and out of the pool and check them against the pool's balance changes. For the other venues, many of which publish no readable pool state, the effective price comes from the balance changes of whoever signed the transaction.

1. The fee is 4 bp; nine trades in ten paid under 2

Cost of each trade in Orca's main SOL/USDC pool

Orca Whirlpool's SOL/USDC pool Czfq3…44zE (about $29M of liquidity) charges a 0.04% fee on every swap. It took 99% of Orca's SOL/USDC trades of 1–100 SOL in our window: 11,435 of them. We priced each one against the market mid at the moment it executed, fee and slippage included:

Buy, bp Sell, bp Round trip, bp
10th percentile −0.27 −0.16 −0.43
25th percentile 0.22 0.22 0.44
Median 0.72 0.64 1.35
75th percentile 1.31 1.07 2.39
90th percentile 2.32 1.60 3.93
95th percentile 4.70 2.82 7.52

Cost against the mid, positive = worse than the mid. Round trip = the buy and sell percentiles added.

96% of the trades paid less than the 4 bp fee, 91% paid less than 2 bp, and 15.5% got a better price than the mid itself. Even the 90th-percentile buy and sell together (3.9 bp) cost less than half of the 8 bp a round trip pays in fees.

In theory, a trade sent at a random moment pays about the fee: between trades the pool's price drifts a little above or below the market, and the 4 bp come on top. Our reading is that these trades didn't arrive at random. On Orca and Meteora, most SOL/USDC trades come through Jupiter or other programs that can pick the venue at the last moment (section 3): aggregators split each order across whichever venues quote best right then, and arbitrage bots trade a pool when its price has fallen far enough behind Binance to pay for the fee. If that's right, Orca's pool gets the trade when its price, fee included, beats BisonFi's, Tessera's and everyone else's, which most likely happens just after the market has moved and before the pool has caught up. The trader then lands a few basis points better than the pool's last price, and the fee eats most of that. We haven't measured the pool's quoted price between trades yet; that's the next dataset, and it will test this.

That is good news if you route through an aggregator, and something to keep in mind if you read fee tiers as costs. It also means that what the median trade paid on a venue says as much about who trades there as about the venue.

2. A round trip cost about 1.5 bp or less on most venues

Round-trip cost by venue

Across all 12 venues with enough SOL/USDC trades of 1–100 SOL on both sides, we took the median cost of buying and of selling. Adding the two gives a round-trip cost that barely depends on where exactly you put the mid: whatever the reference adds to one side, it mostly takes away from the other. With a different reference, the round trips of the eight venues with the most trades move by 0.15 bp or less.

Venue Trades Buy, bp Sell, bp Round trip, bp
BisonFi 29,720 −0.43 −0.55 −0.98
Meteora DAMM v2 218 −0.24 −0.26 −0.50
GoonFi 6,383 −0.16 −0.30 −0.46
Manifest 1,305 −0.28 −0.10 −0.38
Tessera V 6,945 0.11 −0.02 0.09
AlphaQ 222 0.41 0.48 0.88
Raydium CLMM 2,709 0.48 0.42 0.90
Meteora DLMM 7,601 0.62 0.45 1.07
Orca Whirlpool 11,543 0.72 0.64 1.36
Aquifer 1,718 0.82 0.68 1.51
ZeroFi 572 1.27 1.09 2.36
Raydium AMM v4 181 2.37 0.42 2.79

Median all-in cost against the mid, pool fee and slippage included, network fees and tips excluded. Trades of 1–100 SOL. Positive means worse than the mid.

For comparison, Jump Crypto, which runs BisonFi, put the median SOL/USDC fill on the proprietary AMMs at 0.72 bp from the best mid of Binance, Coinbase, OKX and Bybit, over about 20 million fills in March 2026 (their write-up). Our numbers for those venues come only from single-venue transactions (likely mostly bots) and use a mid at Solana's own price level, so the two aren't directly comparable.

Like with like. Because the balance-based venues only include transactions that touch a single venue, we ran the same check on the two pools. Counting only transactions with one venue and one swap, Orca's round trip comes to 1.06 bp instead of 1.36, and Meteora DLMM's to 0.68 bp instead of 1.07; trades inside routes or multi-swap transactions paid more (1.54 and 1.37 bp). So part of the gap between those pools and the venues at the top of the table is the kind of flow, not the venue. BisonFi, Meteora DAMM v2, GoonFi, Manifest and Tessera stay cheaper either way.

Three venues that set their own quotes printed better than the mid on both sides. On BisonFi, the venue with the most SOL/USDC trades of 1–100 SOL in our sample, the median buy and the median sell were both slightly better than the mid; GoonFi and the Manifest order book too (and Meteora DAMM v2, a public pool, on a small sample of 218 trades). That's consistent with quotes that trail Binance by a fraction of a second, and trades that land while a quote is behind, whoever sends them. The effect is small and sensitive to timing: measured at the moment each transaction reached us instead of the moment its slot was processed, BisonFi's round trip is −0.90 bp and Orca's 1.18 bp, and the order of the venues barely changes. Not every proprietary venue behaves this way: ZeroFi cost more than Orca, and Aquifer about the same.

Raydium AMM v4 had the highest round trip, on a small sample of 181 trades, and by far the worst tails: a quarter of its trades paid more than 30 bp.

Size barely moves the needle

Orca Whirlpool Trades Buy, bp Sell, bp
under 1 SOL 28,147 0.71 0.52
1–10 SOL 8,049 0.78 0.68
10–100 SOL 3,494 0.60 0.52
100+ SOL 334 0.31 0.18
Meteora DLMM Trades Buy, bp Sell, bp
under 1 SOL 29,559 1.00 0.74
1–10 SOL 7,005 0.67 0.45
10–100 SOL 596 0.36 0.53
100+ SOL 219 0.54 0.24

Big trades are likely routed to the deepest pools at good moments by whoever sends them, so this is not a liquidity curve. But the typical 100-SOL trade (about $10,000) didn't pay more than the typical small one.

A note on the price level

SOL/USDC on Solana traded 11.8 bp below Binance's SOL/USDT and 4.1 bp above Coinbase's SOL/USD over the evening (medians). Part of that is likely the stablecoins themselves (USDT, USDC and USD are not exactly the same dollar); we'll measure it directly next time by recording Binance's USDC/USDT book. That's why the mid we use follows Binance's quotes second by second but sits at Solana's own price level (details in the method). The round-trip column barely depends on that choice.

3. Who sends the trade

Who calls each pool

For every swap on PumpSwap, Orca and Meteora DLMM we know which program sat at the top of the call stack. PumpSwap is called directly 93% of the time, consistent with bots and the pump.fun app calling the pool themselves. Orca and Meteora are the opposite: 8% direct, about 27% through Jupiter and 65% through 300+ other programs: other aggregators, routers, trading bots and arbitrage contracts.

On SOL/USDC, the caller shows up in the price:

Trades of 1–100 SOL Caller Trades Buy, bp Sell, bp Round trip, bp
Meteora DLMM the pool directly 1,346 0.07 −0.01 0.06
Jupiter 2,225 0.53 0.51 1.05
other programs 4,030 0.91 0.59 1.50
Orca Whirlpool the pool directly 2,471 0.51 0.43 0.93
Jupiter 4,349 0.72 0.68 1.40
other programs 4,723 0.84 0.69 1.53

Direct calls paid the least, and they came from a handful of wallets: 22 on Meteora and 56 on Orca, with the ten busiest sending 97–99% of them. Even Jupiter's flow is concentrated: the ten busiest signers sent 56–63% of the Jupiter-routed SOL/USDC trades of this size, which looks more like bots using Jupiter for routing than like people swapping in a wallet. On Orca, Jupiter's flow paid 0.6–0.7 bp per side whatever the size: 0.72 and 0.58 bp under 1 SOL, 0.72 and 0.68 bp for 1–10 SOL, 0.71 and 0.68 bp for 10–100 SOL.

4. Landing the trade is cheap, and a lot of it tips Jito

Share of SOL/USDC trades tipping Jito

For SOL/USDC trades of 1–100 SOL sent as a transaction of their own (one venue, one swap), the network fee plus any Jito tip came to a median 0.01–0.04 bp of the amount traded. Next to the price cost, that's noise. But tipping is common: 27% of these trades paid a Jito tip, from 10% on GoonFi to 42% on Orca and 45% on Manifest (ZeroFi, almost none). On Orca and Meteora DLMM the tips were large: a median of 175,701 lamports on Orca (about $0.018) and 114,615 on Meteora, against 9,000–21,000 on the proprietary AMMs and Manifest, consistent with bots bidding for a position in the block. For the costliest tenth of trades on Orca and Meteora DLMM, fee and tip came to 0.5–0.6 bp of the trade, close to the median price cost.

5. A fifth to a quarter of DEX transactions don't trade

Our filter catches any transaction that references one of the 25 DEX programs. In a 20-minute sample recorded earlier the same day (13:51–14:10 UTC), 247,934 of 914,218 such transactions (27%) never invoked any of them; in a second sample half an hour later, 21%. In the first sample they came from just 180 fee payers, the top ten sending 46% of them, and used a median of 20,199 compute units against 78,268 for the ones that traded. That's consistent with bots that load the accounts, check a price and exit without trading; one we looked up was an arbitrage program that ran, paid a tiny Jito tip and traded nothing. We no longer store them, but they are a real share of the blockspace that DEX activity consumes.

What's next

This was one evening. With every day of recording we can answer the questions that need more history: what a trade sent at a random moment would have paid (that needs each pool's quoted price at every slot, which we're adding), who quotes late against Binance and by how many milliseconds, how much of the volume is wash trading, and how all of it changes week to week.

We're building this into a dataset: swaps on Solana's main venues with their real execution cost, the priority fee and Jito tip each one paid, and the CEX price at the same instant, delivered as daily Parquet with a simple API. If that's useful to you, join the waitlist or tell us what you'd want in it.

Method

Limits

Numbers are as recorded; nothing here is investment advice. Method details and the SQL behind the numbers are available on request.

Join the waitlist