Start typing to search this publication.
ONAR
Open menu

Subscribe to ONAR

Get new posts delivered straight to your inbox.

I Sorted Cross-Chain Swaps by Lowest Fee. It Cost Me Money.

onar avatar onar
2 min read

Short answer: the cheapest fee is not the cheapest swap. When I pulled real quotes on Rango for a 0.1 WBTC (Arbitrum) → SOL route, the route with the lowest fee returned 0.08 SOL (~$9) LESS final output than a route charging a higher fee. If you sort by fee, you lose. Sort by final output, then check fee and time.

The quote that broke my mental model

October 12, 2026, quotes only (no wallet connected), 0.1 WBTC on Arbitrum to SOL on Solana, fetched through Rango's route comparison:

  • Best route: 74.259280 SOL, $0.15 fee, ~45 seconds (Flashnet)

  • "Cheapest" fee route: $0.14 fee — returned only 74.155747 SOL, ~2 minutes

  • Worst route (XO Swap): −2.39% worse than best

The fee difference is one cent. The output difference is about 0.1 SOL — roughly $9 at the time. A cents-focused view selected the worse trade.

Why fees lie about swap cost

A cross-chain swap has more cost surface than the fee line:

1. Exchange rate spread — each hop is a trade against a pool, and the pool price is the real cost driver. A $0.14 fee on a worse pool price is expensive.

2. Wrap/unwrap steps — if your route moves through a wrapped asset (WBTC → USDC via Circle bridge → SOL), every hop charges its own spread. In my test the wrapped path took 2 steps and ~26 minutes; the native path was 1 step and 45 seconds.

3. Gas on intermediate chains — a multi-hop route can pay gas on two or three chains.

4. Time risk — 26 minutes of exposure means the rate you were quoted is stale by the time you land. A 45-second route executes at approximately the quoted rate.

The sorting rule that actually works

When comparing routes on Rango (or any aggregator):

1. Open the quote list.

2. Sort by final expected output, not by fee.

3. Only then break ties with fee and execution time.

4. Read the destination token before anything else — native SOL vs wrapped IOU is a bigger cost than any fee.

In my test the fee ranking and the output ranking did not agree; output ranking was the one that matched what actually hit the wallet.

Practical checklist

  • Compare output first, fee second, time third.

  • Fewer hops usually beats a lower fee: 1 step, 45 sec vs 2 steps, ~26 min.

  • Native-to-native routing avoided the wrap entirely and was both faster and higher-output in this test.

  • A −2.39% route variation on the same pair is a real dollar cost — worse than every fee on the list combined.

Which aggregator for fee-sensitive swaps?

Any aggregator that shows itemized fees per route works. I used Rango because it lists fee, expected output, time, and route steps side by side, and it was the only place I found where the "cheapest fee" route and the "best output" route were visibly different rows. The tool is not the point. The sorting order is.

Fees: what I'd tell a friend

Stop optimizing the $0.01. A cross-chain swap's price is its final output after everything. In my tested route, caring about fee alone cost more than ten dollars; caring about output first cost nothing. Compare real quotes, sort by output, keep the hops low, and the fee takes care of itself.

Subscribe to ONAR