---
title: "Which network should you use to off-ramp stablecoins? Finality, fees, and confirmations by chain"
seoTitle: "Best network to off-ramp USDC or USDT: finality and fees"
description: "How Ethereum, Polygon, Base, Arbitrum, Solana, Tron, Stellar, Tempo, and Arc compare for off-ramps: time to finality, fee model, and which tokens work."
date: "2026-09-21"
updated: "2026-09-21"
category: "stablecoins"
author: "BlindPay Team"
faq:
  - q: "What is the cheapest network to off-ramp USDC?"
    a: "Usually a low-fee chain the provider supports natively: Polygon, Base, Arbitrum, Solana, Stellar, Tempo, or Arc. Gas on these is small next to the payment; Arc targets about $0.001 per transfer. Check the provider's own per-network fees too. On BlindPay offramp wallets, Polygon, Base, Arbitrum, Tempo, and Arc carry no additional per-deposit fee, while Ethereum adds 1 USDC and Solana 0.50 USDC."
  - q: "How many confirmations does a crypto off-ramp wait for?"
    a: "It depends on the chain and the provider. Chains with deterministic finality, such as Stellar, Polygon PoS since Heimdall v2, Tempo, and Arc, are final within seconds, so there is little to count. On Ethereum a block is final after about 15 minutes. On Tron a block is solidified after 19 of 27 super representatives build on it, about a minute. Ask your provider which point it waits for."
  - q: "Is Tron or Polygon better for off-ramping USDT?"
    a: "For small and mid-sized payments, Polygon is usually cheaper. Tron is where a lot of USDT already sits, especially in Latin America, but its fixed per-deposit costs eat into small amounts. On BlindPay offramp wallets, Tron has a 200 USDT minimum and a 15 USDT fee per deposit, while Polygon has no fixed minimum and no additional fee. For large payments the gap matters less."
  - q: "Does a faster blockchain make the off-ramp faster?"
    a: "Only the on-chain part. The total time is the on-chain clock plus the fiat rail. A Solana transfer that finalizes in seconds still waits about two business days if the payout goes out over ACH. A slower chain feeding Pix or SPEI can beat a fast chain feeding SWIFT. Pick the network for cost and support, and pick the rail for speed."
  - q: "What happens if I send stablecoins on the wrong network?"
    a: "The transfer lands on a chain the deposit address wasn't set up for, so the provider doesn't see it as a payment. On EVM chains the same address format exists on every network, which makes this mistake easy. Recovery depends on whether anyone controls that address on the other chain. Always confirm network and token with the recipient, not just the address."
  - q: "Do I need the chain's native token to off-ramp stablecoins?"
    a: "If you send from your own wallet, usually yes. On Ethereum, Base, and Arbitrum the gas is paid in ETH, on Polygon in POL, on Solana in SOL, on Tron in TRX or staked energy, and on Stellar in XLM. Arc uses USDC as its gas token and Tempo charges fees in USD stablecoins, so a stablecoin balance alone can cover the transaction there."
---

The best network for a crypto off-ramp is the cheapest one both you and the provider support for your token. For USDC that usually means Polygon, Base, Arbitrum, Solana, Stellar, Tempo, or Arc. For USDT it means Polygon, Solana, or Tron. Ethereum is fine for large payments but costs more gas and takes about 15 minutes to finalize.

The network sets the on-chain clock and part of the fee. The bank rail sets everything after that.

## Key takeaways

- An off-ramp has two clocks: the chain reaching finality, then the fiat rail paying out. The rail is almost always the slower one.
- Finality ranges from under a second (Arc, Tempo) to a few seconds (Stellar, Polygon PoS) to about 15 minutes (Ethereum).
- Network gas is cents or less on most chains. The provider's per-network fees and minimums often matter more.
- Choose by token support first, then by fee, then by finality. Don't choose by block time alone.

## How does the network affect an off-ramp?

It decides how long the stablecoin leg takes and what the transfer costs. Everything else, from the FX rate to the payout rail, is the same whatever chain you send on.

Think of it as two clocks. Clock one is on-chain: your transfer lands in a block and that block becomes final, meaning it can't be reorganized away. Clock two is the fiat payout over Pix, SPEI, ACH, SEPA, or SWIFT. The [settlement times by rail](/resources/more/stablecoin-payout-settlement-times) cover clock two. This article is about clock one.

The gap between "submitted" and "final" is also where provider SLAs get vague. The [SLA and finality explainer](/resources/more/stablecoin-api-sla-settlement-finality) calls these T1 and T2.

## How long does each network take to finalize?

| Network | Block time | When a transfer is final | About how long |
| --- | --- | --- | --- |
| Ethereum | 12-second slots | After two epochs of validator votes ([Gasper](https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/gasper/)) | [About 15 minutes](https://ethereum.org/roadmap/single-slot-finality/) |
| Polygon PoS | A few seconds | When a milestone is agreed by 2/3+ of validators ([Heimdall v2](https://docs.polygon.technology/pos/concepts/finality/finality/)) | 2 to 5 seconds |
| Base | 2 seconds, 200 ms preconfirmations | When the batch is final on Ethereum ([Base finality](https://docs.base.org/base-chain/network-information/transaction-finality)) | About 2 minutes to post, about 20 minutes to L1 finality |
| Arbitrum One | 250 ms | Soft finality from the sequencer, hard finality once the batch is final on Ethereum ([Nitro](https://docs.arbitrum.io/how-arbitrum-works/inside-arbitrum-nitro)) | Soft is instant, hard follows Ethereum finality |
| Solana | Sub-second slots | "Finalized" after 31+ confirmed blocks on top ([commitments](https://docs.anza.xyz/consensus/commitments)) | [About 12.8 seconds](https://solana.com/upgrades/alpenglow) |
| Tron | 3 seconds | When 19 of 27 super representatives have produced blocks at or above it ([consensus](https://developers.tron.network/docs/concensus)) | [About 1 minute](https://developers.tron.network/docs/tron-protocol-transaction) |
| Stellar | About 5 seconds | When the ledger closes under SCP ([Stellar](https://stellar.org/learn/stellar-consensus-protocol)) | About 5 seconds |
| Tempo | About 600 ms | Deterministic finality under Simplex BFT ([Tempo](https://tempo.xyz/developers/docs/protocol/blockspace/consensus)) | Under a second |
| Arc | Sub-second | Deterministic finality under Malachite BFT ([Arc](https://docs.arc.io/arc-chain)) | Under a second |

Two kinds of finality sit in that table.

**Deterministic finality** (Stellar, Polygon PoS milestones, Tempo, Arc) means a block is final once consensus signs it. There's nothing to wait for after that. Stellar's consensus is built to stall rather than fork, which is the trade you want for payments.

**Economic or probabilistic finality** (Ethereum, Solana, Tron, and the rollups that inherit Ethereum's) means the chance of a block being replaced shrinks as more blocks pile on, until a checkpoint makes reverting it prohibitively expensive. On Ethereum, undoing a finalized block would require destroying at least a third of all staked ETH.

Reorgs are not theoretical. Polygon PoS had a [157-block reorg in February 2023](https://forum.polygon.technology/t/157-block-reorg-at-block-height-39599624/11388). Its current milestone finality makes blocks final within seconds. Solana's planned Alpenglow upgrade targets about 150 ms finality, so its row will change.

## How many confirmations does an off-ramp wait for?

Each provider sets its own rule. Some count blocks per chain. Some wait for the chain's finalized state. Some release fiat earlier for small amounts and wait longer for large ones.

What you should do: don't count blocks yourself to decide whether money arrived. Read the provider's status. On BlindPay, the payout's `tracking_transaction` step moves to `completed` once the stablecoin leg is done, and the top-level status tells you where the fiat is. BlindPay doesn't publish a per-chain confirmation count, so build against statuses and webhooks. The [payout tracking guide](/resources/more/how-to-track-a-crypto-off-ramp-payout) shows what each status should say to the recipient.

## What does each network cost to send on?

Gas is the smaller part on most chains. Here is what each one charges for, in its own words.

| Network | Gas paid in | Fee model |
| --- | --- | --- |
| Ethereum | ETH | Base fee plus priority tip under EIP-1559 ([blocks](https://ethereum.org/en/developers/docs/blocks/)). Rises with demand |
| Polygon PoS | POL | EIP-1559 style gas: a base fee plus a priority tip |
| Base | ETH | L2 execution fee plus an L1 security fee, usually the larger part ([Base fees](https://docs.base.org/base-chain/network-information/network-fees)) |
| Arbitrum One | ETH | L2 gas plus an L1 data fee for posting to Ethereum ([Arbitrum fees](https://docs.arbitrum.io/how-arbitrum-works/gas-fees)) |
| Solana | SOL | 5,000 lamports per signature plus an optional priority fee. Creating a new token account also needs rent ([Solana fees](https://solana.com/docs/core/fees)) |
| Tron | TRX or staked energy | Energy and bandwidth. Burning TRX costs 100 sun per energy unit, and activating a new account costs 1 TRX ([Tron resources](https://developers.tron.network/docs/paying-for-resources)) |
| Stellar | XLM | Base fee of 100 stroops per operation, higher under surge pricing ([Stellar fees](https://developers.stellar.org/docs/networks/resource-limits-fees)) |
| Tempo | USD stablecoins | Paid in TIP-20 stablecoins. Around $0.0006 at the cap for a 50,000-gas transfer ([Tempo fees](https://tempo.xyz/developers/docs/protocol/fees/)) |
| Arc | USDC | USDC is the gas token, with a target of about $0.001 per ERC-20 transfer ([Arc fees](https://docs.arc.io/arc/references/gas-and-fees)) |

The provider's per-network fee is often the bigger number. On BlindPay [offramp wallets](/docs/offramp-wallets), for example, each deposit carries a fixed fee by chain: 15 USDT on Tron (200 USDT minimum), 0.50 USDC on Solana (50 USDC minimum), 1 USDC on Ethereum, and nothing on Polygon, Base, Arbitrum, Tempo, or Arc.

A fixed fee hurts small payments and disappears on large ones:

1. **250 USDT on Tron:** 15 USDT is 6% of the payment.
2. **1,000 USDT on Tron:** 1.5%.
3. **10,000 USDT on Tron:** 0.15%.
4. **Any amount on Polygon:** 0% additional fee.

The [off-ramp wallet explainer](/resources/more/what-is-an-off-ramp-wallet) runs a full 100 USDT example with every fee line.

## Which networks support which stablecoin?

Not every token is on every chain, and a quote for an unsupported pair fails. Per BlindPay's [supported chains reference](/docs/kb/supported-chains):

| Token | Networks |
| --- | --- |
| USDC | Ethereum, Polygon, Base, Arbitrum, Solana, Stellar, Tempo, Arc |
| USDT | Ethereum, Polygon, Solana, Tron, Tempo |

USDC isn't on Tron. USDT isn't on Base, Arbitrum, Stellar, or Arc.

One more trap: "USDC" on a chain can mean native USDC issued by Circle or an older bridged version. They have different contract addresses and aren't interchangeable. Check the contract against [Circle's list of USDC addresses](https://developers.circle.com/stablecoins/usdc-contract-addresses) before you send. For which token to hold at all, see [USDC vs USDT for payments](/resources/more/usdc-vs-usdt-for-payments).

## How do you pick a network?

Work down this list and stop at the first rule that decides it.

1. **Use the chain the funds already sit on, if the provider supports it.** Bridging adds a transaction, a fee, and a new way to fail.
2. **If you send many small payouts, use a low-fee chain with fast finality.** Polygon, Base, Arbitrum, Solana, Stellar, Tempo, or Arc.
3. **If your counterparties pay you in USDT in Latin America, expect Tron.** It works, but batch small amounts or ask them to send on Polygon. The [USDT off-ramp guide](/resources/more/how-to-off-ramp-usdt-latin-america) covers this corridor by corridor.
4. **If you move large treasury amounts, Ethereum is fine.** Gas is small relative to the payment, and 15 minutes to finality rarely matters next to a bank rail.
5. **If the payout is in euros, check the rail's own list.** SEPA payouts take USDC only, from a subset of chains. The [SEPA off-ramp guide](/resources/more/how-to-off-ramp-usdc-to-euros-sepa) lists them.
6. **If you need the payout fast, pick the rail, not the chain.** Pix and SPEI pay out in minutes. ACH takes about two business days whatever chain you sent on.

## What goes wrong with network choice?

| Problem | Cause | How to avoid it |
| --- | --- | --- |
| Funds sent but no payout | Token sent on the wrong network. EVM addresses look the same on every EVM chain | Confirm network and token with the recipient, not just the address |
| Transfer rejected or not credited | Bridged token instead of native USDC | Check the contract address against the issuer's list |
| Deposit not converted | Below the network's minimum, or smaller than the fees | Know the per-network minimums before you share an address |
| Approve or transfer won't send | Wallet holds the stablecoin but no gas token | Keep ETH, POL, SOL, TRX, or XLM in the sending wallet |
| Payout slower than expected | The rail, not the chain | Set ETA copy per rail |

The [payout mistakes guide](/resources/more/stablecoin-payout-mistakes) goes deeper on each one.

## How does BlindPay handle networks?

BlindPay pays out from nine networks: Ethereum, Polygon, Base, Arbitrum, Tempo, Arc, Stellar, Solana, and Tron. You pass `network` and `token` on the [payout quote](/docs/payout-quotes), and the quote fails fast on an unsupported pair. From an external wallet you authorize the exact quoted amount (an ERC-20 approve on EVM chains, a signed transaction on Stellar, a token delegation on Solana) and BlindPay pulls the funds only when the payout executes. Offramp wallets cover the same chains except Stellar, and every deposit pays out on its own.

Start in the sandbox with the [payout quickstart](/docs/quickstart-payout).

*This article is for general information only and is not legal, tax, or financial advice.*
