Cross-chain · Ethereum → Base

Swap WETH from Ethereum to USDC on Base

Swap WETH from Ethereum to USDC on Base. Holders of wrapped ETH who need Circle's native USDC on chain 8453 spend WETH and receive that dollar.

You approve WETH at 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 on Etherscan. Withdrawing from that contract unwraps to native ETH and stays on Ethereum. This route spends the WETH and delivers 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Basescan, Circle's native USDC, 6 decimals. Bridged USDbC at 0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA is not the receipt. Gas to start is still ETH on chain id 1, about 12 seconds a block. Base, chain id 8453, needs its own ETH before the USDC can move. Import the native contract from Basescan. USDbC will not reflect this route. Import native USDC from Basescan on chain id 8453. USDbC will not reflect this route, and Etherscan will not show the new dollars. Confirm the native USDC on Basescan before you deposit.

Diagram for Swap WETH from Ethereum to USDC on Base
WETH leaves Ethereum. USDC is what can arrive on Base.

Unwrapping is the wrong tool

If you want native ETH on Ethereum, withdraw from 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 and stop. If you want Circle USDC on Ethereum, swap WETH there. This page is for a wallet that must hold Base native USDC. A mainnet trade never creates 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913.

Native USDC versus USDbC

The credit to expect is 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Basescan. The bridged dollar is 0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA. WETH in is 18 decimals. This USDC is 6. Deposit only where the allowlist matches the native contract on chain id 8453.

ETH gas beside the WETH

WETH cannot pay the Ethereum fee. Hold native ETH for the approval. How to bridge assets between chains walks through that signature. On Base the fee is ETH again, a different balance, and native USDC does not cover it.

After the 6 decimal dollar arrives

Switch to Base and read Basescan before you deposit. Apps that want Ethereum USDC are on the wrong network. Apps that want USDbC will ignore this native contract.

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 WETH from Ethereum to USDC on Base?

You approve WETH at 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 on Etherscan. Withdrawing from that contract unwraps to native ETH and stays on Ethereum.

Can I unwrap WETH and then bridge the ETH?

You can, and that is a different route. Withdrawing 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 returns native ETH on chain id 1. This page spends the WETH contract and pays Base native USDC at 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Choose the output the destination wallet is supposed to hold.

What do I approve on Etherscan?

Approve 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2. Do not approve Circle's Ethereum USDC for this pair. You still need native ETH for gas on chain id 1. Blocks are about 12 seconds. WETH is the asset being sold. ETH is only the fee. Confirm the full address on the explorer before you send it onward.

Which USDC will the wallet show?

Circle's native USDC at 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, 6 decimals, on Basescan. USDbC will not move. Set the wallet to Base, chain id 8453. If the balance looks enormous or tiny, re-import the contract and read its decimals before you deposit. Confirm the full address on the explorer before you send it onward.

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