What Fees Do You Pay in a Cross-Chain Swap? The number on the confirm button is never just "the fee." It's four different costs stacked on top of each other, and mixing them up is the single
What Fees Do You Pay in a Cross-Chain Swap?
The number on the confirm button is never just "the fee." It's four different costs stacked on top of each other, and mixing them up is the single most common reason people feel surprised by what they actually receive.
Ask someone what they paid for a same-chain swap, and they'll usually give you one number: the fee. Ask the same question about a cross-chain swap, and one number stops being enough β because a cross-chain trade genuinely involves several distinct costs, incurred in different places, for different reasons, denominated in different assets. Lumping them into a single "fee" is exactly what makes cross-chain swaps feel more expensive or more confusing than they need to be. Once you separate what you're actually paying for, the number stops being mysterious.
π Most confusion about cross-chain fees isn't really about the math β it's about people mentally filing everything under one bucket labeled "fees," when a chunk of what moves the final number isn't a fee at all. That distinction matters more than any individual line item.
β
Key Takeaways
- A cross-chain swap's total cost breaks into four distinct pieces: source-chain gas, protocol/execution fees, destination-side costs, and price effects β not one number.
- Fee profiles vary by chain because each chain prices computation and security differently; there's no universal "gas fee" that applies everywhere.
- Ethereum mainnet can cost meaningfully more than Base or Polygon for the same category of transaction, sometimes by two or three orders of magnitude.
- A live quote β like the one shown on STON.fi before confirming β is where all four cost components become visible together, before you commit to anything.
- Price impact and slippage are not fees. They come from market movement and pool depth, not from anyone charging you for a service.
π§© The Four Pieces of a Cross-Chain Swap's Total Cost

A cross-chain trade touches at least two blockchains and, in RFQ-based settlement models like Omniston's, a resolver acting as counterparty on the destination side.
Only the first three are actually fees in the normal sense of the word β money paid for a service. The fourth is something else entirely, and conflating it with the first three is where most of the confusion starts.
β½ Why Fee Profiles Vary So Much by Chain
Gas isn't a fixed, universal price β it's determined by how a specific chain prices computation, how congested it is, and what consensus mechanism it uses to secure transactions. A chain optimized for throughput and cheap execution will simply charge less for the same category of operation than a chain prioritizing maximal decentralization and security at its base layer, where computation is a genuinely scarcer resource.
This is why "what's the gas fee" doesn't have one answer β it has as many answers as there are chains involved in the trade, and the source-chain leg and destination-chain leg of the same cross-chain swap can carry meaningfully different costs from each other, even within the same transaction.
βοΈ Why Ethereum Can Differ Sharply From Base or Polygon
This isn't a small difference β it's often the single biggest source of surprise in a cross-chain fee breakdown. Ethereum mainnet transactions typically run somewhere in the range of $0.50 to a few dollars under normal conditions, and can spike to $20 or more during periods of heavy network congestion, since block space on Ethereum's base layer is a genuinely limited, competed-for resource. Base, an Ethereum layer-2, generally settles the same category of transaction for a few cents or less, batching activity and inheriting Ethereum's security without paying its base-layer congestion price directly. Polygon goes further still, with typical transaction costs landing well under a cent in most conditions.

None of these differences reflect one network being "better" than another in some absolute sense β they reflect different architectural trade-offs between decentralization, security guarantees, and raw transaction cost. What matters practically is this: the same cross-chain swap can cost meaningfully different amounts in gas alone depending purely on which chains it touches β a TON-to-Base swap and a TON-to-Ethereum-mainnet swap are not going to carry the same source or destination cost profile, even trading the identical pair and amount.
π Where to Actually Review This Before Confirming

This is where theory needs to meet the actual interface. Before confirming any swap on STONfi, the quote screen is specifically where all of these components become visible together, rather than staying hidden until after the trade executes:
- The quoted output amount already reflects the protocol/execution fee and any price impact β it's not the headline market rate, it's what you'd actually receive.
- Network fee estimates for the relevant chain(s) are shown separately from the trade amount itself, so gas isn't silently folded into a single ambiguous number.
- For cross-chain trades specifically, reviewing the quote is the moment to notice which destination chain is involved, since that's what determines the destination-side cost profile described above.
Reviewing this screen before confirming β rather than just checking that an output number "looks about right" β is the practical version of everything in this article: it's the one place where source-chain gas, protocol fees, destination costs, and price effects are all sitting in front of you at once, before anything is locked in.
π« Why Price Impact and Slippage Aren't Fees
This distinction is worth stating plainly, because it's the one most often mixed in with everything else: price impact and slippage are not charges. Nobody is collecting them, and no protocol is keeping them. They exist because:
- Price impact happens because your own trade shifts the pool or quote's price as it executes β a function of trade size relative to available liquidity, not a fee taken by anyone.
- Slippage happens because market conditions can move between the moment you confirm and the moment the trade actually settles β a function of time and market movement, not a service charge.
A swap with zero protocol fee can still produce a materially lower output than expected purely from price impact on a large trade or thin pair. Conversely, a swap with a normal, disclosed protocol fee can execute at very close to the displayed rate if liquidity is deep and conditions are stable. Treating these as the same category as an actual fee makes it harder to diagnose what's actually driving a worse-than-expected result β checking pool depth and trade size addresses price impact; checking the protocol's fee schedule addresses the fee itself. They're different problems with different fixes.
π§ Putting the Full Picture Together
For a concrete cross-chain example β say, swapping USDT on TON into an asset on Base β the total cost genuinely breaks down into: a small TON network fee to initiate the trade, a protocol/execution fee for sourcing the trade through Omniston's resolver network, a Base-side network fee for settling and delivering the destination asset (typically a fraction of what the same operation would cost settling to Ethereum mainnet instead), and whatever price impact or slippage applies given the size of the trade and the pair's liquidity at that moment. None of these four pieces is optional or hidden β they're all either shown directly on the quote screen or reflected in the final quoted output amount before you ever confirm.
π§ Conclusion
A cross-chain swap's "fee" was never really one number β it's source-chain gas, a protocol/execution fee, destination-side costs, and price effects, stacked together and often collapsed into a single displayed figure by habit rather than by necessity. Fee profiles vary sharply by chain because chains price computation and security differently, which is exactly why the same trade can cost noticeably more settling to Ethereum than to Base or Polygon. The quote screen β reviewed before confirming, not glanced at afterward β is where all of this actually becomes visible. And price impact and slippage, whatever else they are, aren't fees at all; they're the cost of trade size and time meeting real market conditions, not a charge collected by anyone.
β Frequently Asked Questions
Why did my cross-chain swap cost more in gas than a same-chain swap of the same size?Because a cross-chain swap incurs network fees on two separate chains β source and destination β rather than one. Each chain prices its own gas independently, so the combined cost reflects both legs, not just one.
If a protocol advertises a low fee, does that mean the total cost will also be low?Not necessarily. The protocol/execution fee is only one of four cost components. Network fees on the chains involved and price impact from trade size can outweigh a low protocol fee, especially for large trades or congested destination chains like Ethereum mainnet.
Is there a way to know the total cost before confirming a swap?Yes β reviewing the quote screen before confirming is specifically where the expected output, applicable network fees, and any price impact should be visible together, rather than discovered after the transaction settles.
Does a higher slippage tolerance mean I'll pay a higher fee?No. Slippage tolerance controls how much the price is allowed to move before your transaction reverts β it doesn't add a fee. A higher tolerance can result in a worse final price if the market moves against you, but that's a market outcome, not a charge.