Cross-chain · Ethereum → Avalanche C-Chain

Swap ETH from Ethereum to USDC on Avalanche C-Chain

Swap ETH from Ethereum to USDC on Avalanche C-Chain. You spend native ETH on Ethereum and a C-Chain wallet receives Circle's native USDC.

Native ETH is marked 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE, the gas coin Etherscan shows on chain id 1. You do not approve it. The dollar that arrives is 0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E on Snowtrace. Bridged USDC.e at 0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664 is not the receipt. Leave ETH behind for the mainnet fee, because the coin you sell and the fee are the same balance. Blocks on Ethereum are about 12 seconds. The C-Chain, chain id 43114, charges AVAX, and the USDC cannot pay it. The X-Chain will not show the dollars. Import the native contract from Snowtrace after you switch. Import native USDC from Snowtrace on chain id 43114. USDC.e will not reflect this route. Confirm the native USDC on Snowtrace before you deposit.

Diagram for Swap ETH from Ethereum to USDC on Avalanche C-Chain
ETH leaves Ethereum. USDC is what can arrive on Avalanche C-Chain.

Leave ETH for the chain id 1 fee

A max send can fail because nothing remains for gas. Lower the amount until the wallet still shows ETH on Ethereum. The USDC lands on the C-Chain and cannot refund that mainnet cost. This is not a transfer of ETH onto the X-Chain.

Native USDC, not USDC.e

Watch 0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E on Snowtrace. USDC.e at 0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664 does not move. Circle USDC on Ethereum, 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, is also not the credit. Avalanche here means chain id 43114.

A mainnet ETH sale stays home

This route is the wrong tool when you want Circle USDC on Ethereum. That pool already exists on chain id 1. Use the bridge when a C-Chain app whitelisted the native contract. Selling ETH for dollars on mainnet never creates the Snowtrace balance.

AVAX after the dollars land

Native USDC does not pay gas on the C-Chain. If the destination wallet has never held AVAX, the new dollars can show on Snowtrace and still be unable to move. Keep AVAX beside them.

Legal

Risk disclosure

XAUConnect is a non-custodial swap aggregator. Digital assets are volatile and may lose value rapidly. Content on this page is educational and not investment advice. Verify every contract address on the official block explorer before approving a transaction.

Frequently asked questions

What is the best way to swap ETH from Ethereum to USDC on Avalanche C-Chain?

Native ETH is marked 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE, the gas coin Etherscan shows on chain id 1. You do not approve it.

Do I approve a contract for the ETH?

No. Native ETH uses 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE as a placeholder, not a token you import. You sign a send on chain id 1. Keep enough ETH unspent to cover gas, because the amount and the fee come from the same balance. Etherscan shows that native balance falling.

Which USDC row should increase?

The native one, 0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E on Snowtrace, on the C-Chain. USDC.e at 0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664 stays put. If the app lists the bridged address, this route delivers the wrong contract. Chain id 43114 is the network, not the X-Chain. Confirm the full address on the explorer before you send it onward.

When is an Ethereum swap enough?

When the dollars should remain on chain id 1 as Circle USDC at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. This bridge is the wrong tool for that balance. Open it only if the next use of the money is on the C-Chain and the accepted contract is the native USDC.

Live execution

Trade on XAUConnect

Open the swap page with this cross-chain route pre-selected, then connect your wallet on the source chain to quote and execute. You keep the keys.

Continue exploring

Related markets, guides & networks

Next pages on this subject. Read them before you trade.

Build programmatically

Swap via API for bots and AI agents: quotes, builds, and cross-chain routes.

Developer quickstart