Solana Spread Test: 5 of 6 Pools Lost to Aggregators in September, With One Big Asterisk
A September comparison of six Solana pools found wider round-trip spreads outside aggregator routing at five of them. But the study didn't prove per-swap savings hold today, and that caveat matters more than the headline for anyone shipping a router.
Five of six Solana pools showed wider round-trip spreads when you routed around an aggregator in September. That's the number. The asterisk attached to it's the more interesting part.
The September Test
Start with the setup. Six Solana liquidity pools. Same ticket size, same block window, same starting capital. Trade in, trade straight back out. Once through an aggregator's split route, once against a single pool directly.
Round-trip is the honest test. A one-way quote hides half the cost. You can get a beautiful fill buying into a pool with a fat bid, then eat the whole thing on the way out when price impact flips against you. Two legs, one number. That's what got measured.
Five of the six venues came back worse without the router.
Not a miracle. Arithmetic. Splitting size across two or three curves cuts price impact on each leg, and the router's only real job is finding the split that minimizes total slippage. Do that well and you beat the single pool by construction, at least on clips big enough for the split to matter.
Then came the second finding, and it's the one that deserved the attention. The comparison didn't prove per-swap savings under current conditions. It showed a spread gap in a September snapshot.
Those are different claims. A snapshot is a photograph. Solana slots land in roughly 400 milliseconds. The liquidity that existed when the quote was pulled is gone two blocks later. A study can be exactly right about September and useless for your swap tomorrow morning.
Read the source. The docs are lying, or more often the docs are just three months stale.
What the Gap Actually Costs
Numbers first, then blame. If a round trip through one pool costs 40 basis points and the routed version costs 25, you keep 15. On a $10,000 loop that's $15. On a $200 swap it's 30 cents, and the router's fixed overhead can swallow the whole gain.
That's the uncomfortable part for the router maximalists. Fixed costs don't scale down. Small tickets get almost nothing from clever splitting. The gap that shows up on institutional-sized clips can vanish entirely at retail size.
So who actually wins here? Anyone moving size. Anyone moving $50 is paying for a feature they can't use.
The losers are the single-pool maximalists who've been arguing that aggregators are just a tax on top of the AMM. September's data says the opposite at five of six venues. And the losers on the other side are the people quoting this study as proof that aggregators always save you money. The study says nothing of the kind. It measured spreads. Spreads aren't realized savings, and realized savings depend on your size, your timing, and which way the pool drifted while your transaction sat in the queue.
Market makers should care most. Every tighter round trip is a tax on passive liquidity and a rebate for takers. Five of six pools giving worse two-way pricing means the passive side was getting picked off more efficiently through routed flow. That's a real shift in who pays for liquidity on Solana.
And it puts pressure on integrators. If you're building a front end and hardcoding a single pool because it's simpler, September is a warning shot. Not a death sentence. A warning shot.
How to Check It Yourself
Here's the relevant code. Don't trust a September spreadsheet. Pull your own quotes at the sizes you actually trade.
# round-trip quote, SOL to USDC and back for AMT in 100000000 1000000000 10000000000. do curl -s "https://quote-api.jup.ag/v6/quote?inputMint=So11111111111111111111111111111111111111112&. outputMint=EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v&. amount=$AMT&. slippageBps=50" \ | jq '.routePlan[].swapInfo' doneRun the outbound leg, feed the quoted output back as the input amount for the return leg, and compare the round-trip total against a direct pool quote from Raydium or Orca at the same size. Do it three times in a row. If the gap holds across all three, you've got signal. If it flips, you've got noise, which is what most single-snapshot comparisons actually produce.
Three ticket sizes matter. $100, $1,000, $10,000. Most published spread comparisons quietly run the big one and generalize down. Don't do that to yourself.
Clone the repo. Run the test. Then form an opinion. Ship it to testnet first. Always.
The threshold I'd watch is 30 basis points of round-trip difference. Below that, routing complexity isn't worth the integration surface. Above it, at your actual size, you've a real reason to split orders and a real reason to keep your quote fresh inside the same slot window.
What comes next is mechanical. Expect another round of comparisons in the coming weeks, most of them run on fresh data, most of them landing somewhere near September's five of six and none of them settling the per-swap question. The only data that settles it's yours, pulled at your size, this week.
The honest summary is this. Aggregators earn their fee on size, not on principle. September showed a spread gap at five of six pools. It didn't show that your swap got cheaper, and anyone telling you otherwise hasn't looked at the ticket size behind the number.
Go measure the fill you actually got. Then we can talk.
Explore More
Key Terms Explained
A bundle of transactions that gets permanently added to the blockchain.
How easily an asset can be bought or sold without significantly affecting its price.
A user-friendly DEX on Solana known for its clean interface and concentrated liquidity pools called Whirlpools.
How much your trade moves the market price of an asset.