The 5-layer fee stack of every cross-chain swap (3 routes, 2026-06-26)
Every cross-chain swap quote has five fee layers: source-chain gas, solver spread, destination-chain gas (plus Solana ATA rent), slippage band, and refund-tx fee if anything goes wrong. We name who collects each, when it triggers, and the dollar range on three real routes (Route 1 from project archived sampling; Routes 2-3 from industry-typical bands).
Key takeaways
- ·Every cross-chain swap quote has 5 fee layers: source gas, solver spread, destination gas (plus Solana ATA rent ~$0.135), slippage band absorbed by the solver, and refund-tx fee if the swap fails
- ·Solver spread is the aggregator's actual revenue source — industry-typical bands at the 2026-06-26 sampling date were 0.05-0.30% on liquid same-chain stablecoin routes, 0.10-0.60% on major L1 swaps, and 1.0-3.0% on long-tail or small-size routes
- ·In a fixed-quote intent system (NEAR Intents 1Click 3s auction + 60s minimum signing deadline, Relay 600s permitExpiry), the solver absorbs slippage between bid time and fill — that's why the quote is locked
- ·Solana receives cost a one-time ATA rent-exempt minimum of 0.00203928 SOL (~$0.135 at SOL $66.37) the first time a wallet holds a given SPL token; the rent is recoverable on account close
- ·Refund-tx fees are paid to source-chain miners/validators, not UpSwap: $0.01-$0.03 on ETH at sub-gwei, $0.34-$0.60 on BTC at 3-4 sat/vB, ~$2.00-$2.20 on TRC20 if sender pays TRX burn (6.5 TRX × $0.323915)
<p>The phrase "no service fee" is true at UpSwap (see <a href="/fees">/fees</a>) — and incomplete on its own. Your quote still bakes in four other layers, and one of them (solver spread) is how aggregators actually earn. This guide names all five, who collects each, when it triggers, and the dollar size on three real routes sampled on <strong>2026-06-26</strong>. UpSwap supports 24+ chains, 111+ tokens, and 166 chain-token combinations (sampled 2026-06-26). Numbers cited inline; sources listed.</p>
30-second answer: the 5 layers, one sentence each
Every cross-chain swap quote is built from five layers stacked in this order, regardless of which aggregator you use:
- Layer 1 — Source-chain gas: what you pay your origin chain's miners or validators to send the input token. ETH transfer ~$0.01-$0.40 at 0.32 gwei × 65k gas × ETH $1,567.97; BTC tx ~$0.34-$0.60 at 3-4 sat/vB; TRC20 ~$2.00-$2.20 if no staked energy (sampled 2026-06-26).
- Layer 2 — Solver spread: the implicit margin between market mid and the quoted out-amount. This is the aggregator's and solver's revenue. Industry-typical bands at the sampling date: 0.05-0.30% (liquid same-chain stablecoin), 0.10-0.60% (major L1), 1.0-3.0% (long-tail).
- Layer 3 — Destination-chain gas (plus rent): what the destination chain charges to receive. Solana adds a one-time ATA rent-exempt minimum of 0.00203928 SOL (~$0.135 at SOL $66.37). Tron charges the receiver nothing directly; Bitcoin charges nothing on receive but the solver's BTC-side miner fee is baked into the quoted out-amount.
- Layer 4 — Slippage band: the buffer the solver internally prices in to absorb market drift between bid time and on-chain fill. In fixed-quote systems (NEAR Intents, Relay), the solver absorbs this; in floating-quote DEX aggregators, you do.
- Layer 5 — Refund-tx fee: only triggers if the quote expires, the amount doesn't match, or routing fails. Source-chain miners get this fee, not the aggregator.
| Layer | What | Who collects | When triggers | Typical $ |
|---|---|---|---|---|
| L1 | Source gas | Chain miners/validators | Always | $0.005-$5 |
| L2 | Solver spread | Solver + aggregator (split) | Always (baked in quote) | 0.05-3% of size |
| L3 | Destination gas + rent | Destination chain | Always (varies by chain) | $0-$0.14 |
| L4 | Slippage band | Solver (fixed quote) or you (floating) | Always (priced into L2) | 0.2-0.8% (priced into L2) |
| L5 | Refund tx | Source-chain miners/validators | Only on failure | $0.01-$5 |
UpSwap's /fees page states: no service fee, no withdrawal fee, no network surcharge — the quote on the widget is what lands in your wallet. That's the honest framing for the user-facing line items; the revenue lives in Layer 2. The next six sections name each layer with dollars and sources.
Layer 1 — Source-chain gas (who, when, current snapshot)
What: the fee the origin chain charges to broadcast your input transaction. Who collects: miners (Bitcoin), validators (Ethereum, Solana, BSC), or the Tron resource model. When: always — even "no service fee" aggregators don't pay this for you.
Current snapshot (2026-06-26):
- Ethereum: median 0.316 gwei, fast 0.32 gwei. ERC20 transfer = 65,000 gas units = $0.03 at ETH $1,567.97. Calm range $0.01-$0.40; peak $5-$15. First-time recipient pushes gas to ~90,000 units. Source: etherscan.io/gastracker.
- Tron TRC20: $0 if your account has sufficient staked energy (5,000 TRX stake unlocks 1-2 USDT transfers/day). Otherwise ~$2.00-$2.20 burn for existing recipient (6.5 TRX × $0.323915 = $2.11), or ~$4.00-$4.40 fresh recipient (13 TRX × $0.323915 = $4.21). Rented energy marketplace ~$1.45. Resources per transfer: 65,000 Energy plus 345 Bandwidth. See Guide #2 for sender-pays-energy mechanics. Source: eco.com TRC20 fees 2026.
- Solana: 5,000 lamports base fee per signature = 0.000005 SOL = $0.00033 at SOL $66.37. Typical priority fee adds $0.001-$0.005. Source: solana.com fee-structure.
- Bitcoin: mempool at 280.12 MB with 111,980 unconfirmed tx; recommended 3-4 sat/vB. P2WPKH 1-in 2-out = 141 vB → $0.34 at BTC $59,530. 2-3 input wallets up to 250 vB → $0.60. Source: mempool.space.
- BSC (post-Fermi 2026-01-14): minimum 0.05 gwei, 0.45s block time, 1.125s finality. Typical transfer ~$0.005 at BNB $557.83.
What you can do: on Tron, stake 5,000+ TRX to unlock free transfers; on Ethereum, swap during calm hours (sub-gwei is the new normal post-Dencun); on Bitcoin, use a SegWit wallet (P2WPKH is ~30% cheaper than legacy). For network choice generally, see Guide #2.
Layer 2 — Solver spread (the aggregator's actual revenue)
What: solver spread = (market_mid − quoted_out) / market_mid × 100%. It's the implicit revenue the solver and the aggregator share for committing to a fixed quote and carrying inventory risk between bid time and on-chain fill. Who collects: the solver (market maker or bridge-routing agent bidding in the auction) and, via app-fee splits, the aggregator. NEAR Intents 1Click exposes an appFees parameter integrators can set; per their public docs the default model splits 50/50 between integrator recipient and 1Click protocol in basis points. When: always — it's baked into the quote, not shown as a line item.
Industry-typical bands at the 2026-06-26 sampling date:
- Liquid same-chain stablecoin routes (USDC↔USDT, major bridge): 0.05-0.30%. Relay publishes 0.01% for stablecoin tier (per Relay docs sampled 2026-06-26).
- Major L1 cross-chain swaps (ETH↔SOL, ETH↔BNB): 0.10-0.60%. Relay publishes 0.06% for major tier; deBridge total cost for $1,000 USDC ETH→ARB was reported at $0.86 = 0.086% (per deBridge data sampled 2026-06-26).
- Long-tail tokens or small order sizes: 1.0-3.0%. Relay publishes 0.15% for minor tier; ChangeNOW public summary cited a 0.5-1.5% typical service-fee range (per ChangeNOW summary at sampling date).
Competitor rates cited from public docs at sampling date; check current docs before relying. Sources: docs.relay.link/how-it-works/fees; eco.com Relay reference; cex.io ChangeNOW review.
Methodology note on UpSwap: we probed directly https://upswap.io/api/quote on 2026-06-26 from outside the widget — it returned 400 invalid_input because the endpoint requires the widget-issued nonce (the FIX-7 nonce KV TTL guard). The /api/tokens endpoint returned 200 OK with 168 live tokens and priceUsd values. Live UpSwap /api/quote could not be re-sampled externally; the Route 1 anchor below uses a project-sampling 2026-06 archive quote (1,000 USDT ERC20 → 994.79 USDT TRC20), not a live 2026-06-26 quote. USDT priceUsd 0.99866 on both legs implies mid out ≈ 1,000, so (mid_out − quoted_out)/mid_out = (1000 − 994.79)/1000 = 0.521%. That figure sits above the 0.05-0.30% same-chain liquid-stablecoin band — consistent with a cross-chain ERC20→TRC20 route that adds bridge-finality and inventory risk.
Honest revenue framing. Aggregators in this category — including UpSwap — typically earn via the app-fee mechanisms NEAR Intents and Relay expose to integrators (see /fees for the canonical UpSwap statement). The quote you see is the all-in number. What you can do: compare the quote's out-amount against CoinGecko mid for the same pair. The gap is your all-in cost (spread + gas the solver netted). On a liquid pair, anything materially wider than the bands above, ask before signing.
Layer 3 — Destination-chain gas plus ATA rent on Solana
What: the fee the destination chain charges to receive the swapped token. Who collects: destination-chain validators/miners. When: when the solver fills your quote on the destination side. Often netted from the out-amount, so it doesn't appear as a separate user-paid line.
| Destination | Receive cost (sender vs receiver) | $ at 2026-06-26 |
|---|---|---|
| Ethereum EOA | 21,000 gas, netted from quote | $0.01 (21k × 0.32 gwei × ETH $1,567.97) |
| Ethereum contract wallet | 65,000+ gas | $0.03 |
| Solana SPL receive (first time) | ATA rent-exempt minimum 0.00203928 SOL + 5,000 lamport base fee | $0.135 + $0.00033 |
| Solana SPL receive (existing ATA) | Just base fee | ~$0.00033-$0.005 with priority |
| Tron TRC20 receive | Sender pays energy/TRX; receiver pays $0 directly (see Guide #2) | $0 |
| BSC receive | 21,000 gas at 0.05 gwei | ~$0.0006 |
| Bitcoin receive | Receiver holds new UTXO; pays nothing until spending — solver's BTC-side miner fee is baked into the quoted out-amount | $0 direct |
The Solana ATA rent is the one that surprises people. Every SPL token holder needs an Associated Token Account, and the ATA must hold a rent-exempt minimum — that's a permanent SOL deposit of 2,039,280 lamports = 0.00203928 SOL = $0.135 at SOL $66.37 (sampled 2026-06-26). It only triggers the first time you receive a given SPL token to a wallet. It is recoverable: close the ATA and the SOL comes back. Source: solana.com create-token-account (primary); alchemy.com ATA overview (secondary).
What you can do: if you swap into the same SPL token repeatedly to one Solana wallet, the ATA rent is a one-time event — amortize it across all future deposits. For Bitcoin receives, you pay nothing on arrival but you'll pay when you spend (each UTXO is an input that costs sat/vB).
Layer 4 — Slippage band (and why the solver absorbs it on fixed quotes)
What: the buffer the solver adds between bid time and on-chain fill to absorb market drift. Who collects: nobody collects it as a fee — it's an inventory-risk cost. In a fixed-quote system, the solver bears it; in a floating-quote DEX aggregator, you bear it (up to your user-side slippage tolerance, commonly 0.5-1% default).
NEAR Intents 1Click (fixed-quote model, sampled 2026-06-26):
- Solver bid window: 3,000 ms
- Per-solver pricing phase: <500 ms
- Default minimum signing deadline: 60,000 ms (a minimum, not a maximum) for the user to publish the signed intent
- Quote response includes
quote_hash,expiration_time,amount_in,amount_out - Solver is committed to honor the quoted price; absorbs in-flight drift and source/destination gas
Source: docs.near-intents.org solver-relay.
Relay (fixed-quote model, sampled 2026-06-26):
- Permit expiry default: 600 seconds
- Quote stale after ~30 seconds (reported in API summaries; treat as guidance until you re-quote — not docs-confirmed)
- Default
slippageTolerance: auto-calculated to deter sandwich and front-running enableTrueExactOutputdefault false → exact-output surplus returns to the recipient, not the solver EOA- Fee brackets: token bridges/wraps 0%, stablecoin 0.01%, major 0.06%, minor 0.15%, plus $0.02 flat execution fee
Source: docs.relay.link get-quote.
Industry-estimated solver internal band: 0.2-0.8% on major routes (not disclosed per-quote). This is what the solver absorbs so you don't see it as a line item — distinct from the user-side floating-quote tolerance of 0.5-1% you set yourself on a Uniswap-style aggregator.
How this builds trust on the "all-in fixed quote" claim: the site says you receive the quoted amount or better. That works only because the solver carries Layer 4. The solver carries it only because it's priced into Layer 2. When a long-tail or BTC-involved route shows a wider quote, the solver is pricing a wider drift band against a longer finality wait.
Floating-quote contrast: If you ever use a Uniswap-style aggregator that shows a min-out plus a slippage tolerance slider, you own Layer 4. Any drift up to your tolerance hits your wallet, not the solver's.
Layer 5 — Refund-tx fee (only when the quote expires or amount mismatches)
What: the source-chain network fee to broadcast the return transaction back to your refund address. Who collects: source-chain miners/validators — not the aggregator. UpSwap broadcasts the return and does not currently take or subsidize this fee. When: only on three triggers: (1) quote expired before you signed or funded, (2) the amount you sent didn't match the quoted amount_in, (3) upstream routing failure (destination congestion, solver inventory exhausted, market-maker kill-switch).
For the action playbook when this happens (timeouts, how to message support, what evidence to attach), see Guide #3. This guide names only the dollar size.
Typical refund-tx costs at 2026-06-26 sampling:
- Bitcoin refund: $0.34-$0.60 at 141-250 vB × 3-4 sat/vB × BTC $59,530. Historical peak: $2-$5 during >50 sat/vB mempool congestion.
- Ethereum refund: $0.01-$0.03 at current sub-gwei rates. Historical: $1-$3 in the 10-gwei era (2023-Q4 through 2024-Q1, pre-Dencun).
- TRC20 refund: ~$2.00-$2.20 if sender pays TRX burn (6.5 TRX × $0.323915 = $2.11); $0 if energy is staked.
- BSC refund: ~$0.005-$0.01 post-Fermi (0.05 gwei minimum).
- Solana refund: <$0.001 base fee; if an ATA was created on the failed leg, the close instruction reclaims the ~$0.135 rent.
This is why refunds arrive smaller than what you sent. The miners get those fees. If the gap matters for a small refund (e.g., a $20 BTC refund losing $0.60), batch refunds when possible by waiting for the next quote rather than over-quoting and triggering retries.
What you can do: (1) send the exact quoted amount_in (off by a few sats from wallet fee handling is the most common mismatch trigger); (2) sign and broadcast within the deadline (NEAR Intents min_deadline_ms 60s minimum default, Relay permitExpiry 600s default); (3) for high-value swaps, request a fresh quote rather than reusing one that's been sitting in your tab for 5+ minutes.
3 routes: full 5-layer breakdown at 2026-06-26
Three routes priced against UpSwap's /api/tokens endpoint (priceUsd values sampled 2026-06-26) and documented Relay/NEAR Intents fee tiers (see docs.relay.link/how-it-works/fees). Route 1's L2 anchor is from a project-sampling 2026-06 archive UpSwap quote; Routes 2-3 L2 figures are industry-typical-band estimates, not live UpSwap quotes.
Route 1: 1,000 USDT-ERC20 → USDT-TRC20
Anchor: archived UpSwap quote (project sampling 2026-06 archive, not a live 2026-06-26 quote) returned 994.79 USDT TRC20. USDT priceUsd 0.99866 on both legs, mid out ≈ 1,000. Implied spread (1000 − 994.79)/1000 = 0.521%.
| Layer | Mechanism | $ on this route |
|---|---|---|
| L1 source gas | ERC20 transfer 65k gas × 0.32 gwei × ETH $1,567.97 | $0.01-$0.40 |
| L2 solver spread | 0.521% × $1,000 (archived UpSwap quote — project sampling 2026-06 archive, not a live 2026-06-26 quote) | $5.21 |
| L3 destination gas | TRC20 receive — sender already paid energy | $0 direct |
| L4 slippage band | Absorbed by solver inside L2 | — |
| L5 refund (only if failed) | ETH-side EOA return at sub-gwei | $0.01-$0.03 |
| All-in user paid | ~$5.21 (≈0.52%) |
Route 2: 0.01 BTC → USDT-TRC20
Mid: 0.01 × 59,530 / 0.99866 = 596.10 USDT. Industry-typical estimate (not a live UpSwap quote): 0.85-1.50% for BTC-finality routes.
| Layer | Mechanism | $ on this route |
|---|---|---|
| L1 source gas | P2WPKH 141-250 vB × 3-4 sat/vB × BTC $59,530 | $0.34-$0.60 |
| L2 solver spread | 0.85-1.50% × $596 (industry-typical estimate; not a live UpSwap quote) | $5-$9 |
| L3 destination gas | TRC20 receive — $0 direct to receiver | $0 direct |
| L4 slippage band | Absorbed inside L2 (1-conf wait priced in) | — |
| L5 refund (only if failed) | BTC-side return at 141-250 vB | $0.34-$0.60 |
| All-in user paid | ~$5-$10 (≈0.85-1.50%) |
Route 3: 0.1 ETH → SOL
Using ETH $1,567.97 (Etherscan, 2026-06-26) consistently. Mid: 0.1 × 1,567.97 / 66.37 = 2.3625 SOL. Major L1 band; Relay tier 0.06%, NEAR Intents typical 0.7-0.9% (per project methodology note for cross-chain L1 routes). Estimated spread ~0.7-0.9% (industry-typical estimate; not a live UpSwap quote).
| Layer | Mechanism | $ on this route |
|---|---|---|
| L1 source gas | 21k EOA gas × 0.32 gwei × ETH $1,567.97 | $0.01-$0.03 |
| L2 solver spread | 0.7-0.9% × $156.80 | $1.10-$1.41 |
| L3 destination gas | 5,000 lamports base + ATA rent if first SPL | $0.00033 + $0.135 (one-time) |
| L4 slippage band | Absorbed inside L2 | — |
| L5 refund (only if failed) | ETH-side EOA return at sub-gwei | $0.01-$0.03 |
| All-in user paid | ~$1.10-$1.41 + $0.135 ATA |
Table footnote: Route 1 L2 is from project-archived sampling (UpSwap /api/quote requires a widget-issued nonce and could not be re-sampled externally — see H2-3 methodology note); Routes 2-3 L2 figures are industry-typical estimates from public Relay/NEAR Intents docs, not live UpSwap quotes.
Browse routes by token pair: USDT ERC20 to TRC20, BTC to USDT, ETH to SOL, ETH to USDT, BTC to ETH, SOL to USDT.
Pre-confirm checklist (5 items, in order)
Before you sign any quote, run this 60-second check across the 5 layers. It catches the four mistakes that account for nearly all support tickets we see.
- Mid-price gap test (Layer 2 sanity check). Open CoinGecko in a second tab. Compute
effective_rate = (out_amount × dest_price) / (in_amount × src_price); the all-in cost is(1 − effective_rate). On a liquid same-chain stablecoin route, that figure should sit roughly within 0.05-0.30%. On a major L1 cross-chain route, within 0.10-0.60%. On long-tail, within 1.0-3.0%. Materially wider, screenshot and ask before signing. - Source-gas reality check (Layer 1). Check Etherscan or mempool.space for the current rate. If you're sending USDT TRC20 from a cold wallet with no staked energy, expect ~$2.00-$2.20 burn — not a bug.
- Destination ATA check (Layer 3, Solana only). If you're receiving an SPL token to a Solana wallet that doesn't already hold it, budget the one-time 0.00203928 SOL (~$0.135) for the ATA rent-exempt minimum. It's recoverable on close.
- Deadline check (Layer 4). NEAR Intents quotes carry an
expiration_time(quote expiry) distinct frommin_deadline_ms(the solver's execution commitment window, 60s minimum default — a floor, not a cap). Relay permits default to 600s; quote staleness ~30s is reported in API summaries (not docs-confirmed) — re-quote if your tab has been open longer. A stale quote signature triggers Layer 5 (refund-tx fee on you). - Refund-address sanity (Layer 5 prevention). Confirm the refund address shown matches the wallet you're sending from. Some wallets (notably some exchange withdrawal flows) send from a different address than the one displayed — that's the leading cause of irrecoverable refunds. For more on where funds actually reside during a failure, see Guide #1.
Honest revenue disclosure. Per UpSwap's /fees page: no service fee, no withdrawal fee, no network surcharge — the quote on the widget is what lands in your wallet. Aggregators in this category — including UpSwap — typically earn via the app-fee mechanisms NEAR Intents (1Click appFees) and Relay expose to integrators. We name it here so the quote you see can be verified against any other aggregator — and so the "no service fee" line earns trust by being incomplete on its own.
Questions on a specific quote? Telegram @upswapservice — send the route, the in/out amounts, and the timestamp. We respond inside the chat, not via DM on any other platform (no Discord, no Twitter DM, no phone). Our team never DMs you first on any platform — if someone messages you claiming to be UpSwap support, it's phishing.
Frequently asked questions
Is a "zero platform fee" cross-chain swap actually free?
<p>No. "No service fee" means UpSwap doesn't add a line item on top of the quote — the widget number is what lands in your wallet. The other four layers are still there: source-chain gas, solver spread (this is how the aggregator and solver actually earn), destination-chain gas or rent, and the slippage band the solver internally prices in. Honest framing: the quoted out-amount already has the spread baked in. On a 1,000 USDT ERC20 to TRC20 route, the project's archived UpSwap quote of 994.79 USDT out implies a spread of about 0.521% (5.21 USDT) — archived sampling, not a live 2026-06-26 quote.</p>
Why is my swap quote worse than the CoinGecko mid-price?
<p>Because CoinGecko shows the market midpoint (an average of bid/ask). Your quote includes solver spread (Layer 2) plus an internal slippage band (Layer 4) the solver uses to absorb price drift between bid time and on-chain fill. Industry-typical bands at the 2026-06-26 sampling date were 0.05-0.30% on liquid same-chain stablecoin routes, 0.10-0.60% on major L1 swaps, and 1.0-3.0% on long-tail or small-size routes; the solver-internal slippage band typically runs 0.2-0.8% on major routes and is absorbed inside the quoted spread (distinct from the user-side floating-quote slippage tolerance in FAQ #3). BTC-involved or long-tail routes show wider gaps because the solver waits for confirmations and prices in finality risk. Live quotes are the only authoritative number.</p>
What's the difference between solver spread and slippage?
<p><strong>Solver spread</strong> is the implicit margin the solver and aggregator share between market mid and the quoted out-amount; it's their revenue. <strong>Slippage</strong> is price movement between when the quote is made and when the swap fills on-chain. In a fixed-quote intent system (NEAR Intents 1Click, Relay), the solver eats slippage and prices that risk into the spread. In a floating-quote DEX aggregator, you eat slippage up to your user-side tolerance band (commonly 0.5-1% default) — this is distinct from the solver-internal 0.2-0.8% band cited in FAQ #2, which the solver absorbs. Same economic event, different party absorbs it.</p>
Why does receiving on Solana cost an extra ~14 cents?
<p>Solana requires every SPL token holder to have an Associated Token Account (ATA), and the ATA must hold a rent-exempt minimum deposit: 0.00203928 SOL (about $0.135 at SOL = $66.37, 2026-06-26). This is a one-time charge the first time you receive a given SPL token to a wallet. The rent is recoverable — close the ATA and the SOL comes back. After the first deposit, subsequent receives of the same token to the same wallet cost only the ~5,000 lamport base fee (under $0.001).</p>
Why did my refund arrive smaller than what I sent?
<p>The refund transaction pays its own source-chain gas, and the aggregator does not subsidize it (the miners or validators get those fees, not UpSwap). At 2026-06-26 sampling: ETH refunds cost $0.01-$0.03 at sub-gwei rates; BTC refunds run $0.34-$0.60 at 3-4 sat/vB and can hit $2-$5 during peak mempool; TRC20 refunds cost ~$2.00-$2.20 if the sender pays TRX burn (6.5 TRX × $0.323915 = $2.11) instead of using staked energy. Note: the NEAR Intents <code>min_deadline_ms</code> 60s default is a minimum signing window, not a cap. For why refunds happen at all and where the coins live in the meantime, see <a href="/guides/non-custodial-vs-custodial-where-funds-go-when-swap-fails">Guide #1</a>.</p>
Do I pay gas on both the source chain AND the destination chain?
<p>It depends on the destination. <strong>Solana receive:</strong> yes (one-time ATA rent ~$0.135 plus 5,000 lamports base fee). <strong>Ethereum receive:</strong> yes (21,000 gas for EOA, ~$0.01 at 0.32 gwei × ETH $1,567.97 on 2026-06-26). <strong>BSC receive:</strong> yes but trivial (~$0.0006). <strong>Tron receive:</strong> no direct fee to the receiver — the sender's energy or TRX burn covers the contract execution. <strong>Bitcoin receive:</strong> no direct fee to you on arrival — the solver pays the BTC-side miner fee and bakes it into the quoted out-amount. You only pay BTC L1 fee when YOU later spend the UTXO (each input costs sat/vB).</p>
How can I see the solver spread before I confirm?
<p>Compare the quote's out-amount against the CoinGecko mid for the same pair at the same instant. Compute the effective rate: <code>(out_amount × destination_price) / (in_amount × source_price)</code>; the gap from 1.000 is the all-in cost — spread plus any chain gas the solver netted out. For the archived 1,000 USDT ERC20 → 994.79 USDT TRC20 route, mid out ≈ 1,000 (both legs at $0.99866), so (1000 − 994.79)/1000 = 0.521%. Industry-typical bands at the 2026-06-26 sampling date were 0.05-0.30% (liquid same-chain stablecoin), 0.10-0.60% (major L1), and 1.0-3.0% (long-tail). Anything wider, screenshot it and ask <a href="https://t.me/upswapservice">@upswapservice</a> before signing.</p>
Are NEAR Intents fixed quotes really locked, or can the price change?
<p>Locked, with a minimum signing window. Per NEAR Intents 1Click docs (sampled 2026-06-26): solvers bid for 3,000 ms, the winning quote carries a <code>quote_hash</code>, <code>expiration_time</code>, <code>amount_in</code>, and <code>amount_out</code>; the default <code>min_deadline_ms</code> is 60,000 ms (a minimum, not a maximum), and the solver is committed to honor the quoted out-amount. If the market moves against the solver between bid and fill, the solver absorbs it; the risk premium is priced into the L2 spread, and the user receives the certain <code>amount_out</code>. If you don't sign before <code>expiration_time</code>, the quote dies and you re-quote at the new market. Relay's model is similar with <code>permitExpiry</code> defaulting to 600 seconds.</p>
Swap routes referenced in this guide
Related comparisons
Other guides
- Non-Custodial vs Custodial: Where Funds Go If Swap Fails →
- Further reading: USDT ERC20 vs TRC20 vs BEP20 vs SPL: which network to send, when (2026 fee snapshot + 5-use-case decision tree) →
- Related: My cross-chain swap is stuck — diagnose by symptom and source chain (BTC / ETH / SOL / TRC20 5-minute decision tree) →
- Binance withdrawal vs cross-chain swap: the real break-even by size, chain and asset (sampled 2026-06) →
- Further reading: Address poisoning and pre-send verification: per-chain anatomy + the 5-second check against the 2026 attack surge →
- Related: Sent USDT to the wrong network? The 2026 recovery decision matrix + DIY private-key rescue walkthrough →
Ready to swap?
Pick your tokens and swap directly — non-custodial, no KYC, all-in fixed quote.