← All posts

Choosing the right USDC network for a swap

3 min readSwapToZec

Send on the network your quote names — SwapToZec accepts USDC deposits on Ethereum and Solana. That is a subset of where USDC exists, not a claim about where it exists. Circle issues native USDC on dozens of blockchains; we accept deposits on two of them.

The distinction matters because the mistake people make is not "I picked the wrong one of two." It is "I sent from a third chain that the service never listed."

Where USDC actually exists

Circle's multi-chain USDC page lists native issuance across dozens of networks, including Ethereum, Solana, Arbitrum, Base, Polygon PoS, Avalanche, Optimism, Stellar, NEAR, Sui, Aptos, Hedera, Celo, Linea, zkSync, Unichain and many more, with the set growing over time.

SwapToZec currently accepts USDC deposits on:

Network Address format Typical arrival
Ethereum (ERC-20) 0x…, 42 characters A few minutes
Solana (SPL) Base58, 32-byte Ed25519 key Usually under a minute

If your USDC is on Base, Arbitrum, Polygon or any other chain, it is perfectly real USDC — it simply is not a network we can receive a deposit on. You would need to move it to Ethereum or Solana first.

Native USDC vs bridged USDC

This is a genuine distinction worth understanding, and it trips up people who assume all USDC on a chain is the same token.

Native USDC is issued directly by Circle on that blockchain. Bridged USDC arrived via a bridge from another chain — often displayed as USDC.e or similar. Circle describes a Bridged USDC Standard for ecosystems that have not yet moved to native issuance.

They are different token contracts. A service accepting native USDC on a chain may not accept the bridged variant on the same chain, because they are distinct assets at the contract level even though both display as "USDC."

If your wallet shows USDC.e, check what it actually is before sending it anywhere expecting native USDC.

The Ethereum address problem

An Ethereum USDC address is 0x…, 42 characters — the last 20 bytes of a Keccak-256 hash of a secp256k1 public key, as Ethereum documents it.

That format is shared by every EVM chain. Base, Arbitrum, Polygon and BNB Smart Chain all produce addresses that look identical to Ethereum addresses, because they use the same derivation. Pasting an Ethereum deposit address into a wallet set to Base will not warn you — the address is structurally valid there too.

Solana avoids this entirely: its addresses are 32-byte Ed25519 public keys in Base58, a different curve and a different encoding, so they cannot be confused with 0x… strings.

So the rule is the same one that applies to every token on every chain: the network comes from the deposit instruction, not from the look of the address.

What network choice changes

Changes with network?
Your quoted rate No
What you receive No
Fee you pay to send Yes — set by the chain
How fast the deposit lands Yes

Ethereum fees vary with network demand and can be meaningful. Solana fees are typically very small. Neither affects the rate you were quoted; they affect what it costs you to deliver the deposit.

USDC is not assumed to be exactly $1

USDC trades on real markets, and our quotes derive USD value from those markets rather than assuming parity. USDC typically sits very close to a dollar, so for most swaps this is invisible. At large sizes even a small deviation is a real number, and the quote shows the USD value it actually used.

Before you send

  1. Check whether your USDC is on Ethereum or Solana. If it is on another chain, move it first.
  2. Check whether it is native USDC or a bridged variant.
  3. Match the network on the quote exactly.
  4. Send the exact amount shown — why the amount has to be exact covers what happens if it is not.

If something goes wrong, what happens if you send crypto on the wrong network explains which situations are recoverable and which are not.

Related

USDT has a wider set of accepted networks and the same address-format traps — see which USDT network should you use.