Cross-chain · Ethereum → Base

Swap USDT from Ethereum to USDC on Base

Swap USDT from Ethereum to USDC on Base. Wallets that need Circle's native USDC on chain 8453 spend Ethereum Tether and receive that dollar.

You send Tether at 0xdAC17F958D2ee523a2206206994597C13D831ec7 on Etherscan, 6 decimals. You receive 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Basescan, Circle's native USDC on Base, also 6 decimals. The older bridged USDbC at 0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA is a different contract and is not this output. Gas to leave is ETH on Ethereum, about 12 seconds a block. Gas on Base is ETH too, chain id 8453, and it is a separate balance. The USDC cannot pay it. Switch to Base and import the native contract before you deposit. Import the native USDC from Basescan after you switch to chain id 8453. USDbC will not move.

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

Native USDC is not USDbC

Apps on Base split the dollar. Circle's native token is 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Bridged USDbC is 0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA. This route pays the native contract. If an allowlist prints the USDbC address, these dollars will not credit. Read it on Basescan before you deposit.

Tether is what leaves Ethereum

Approve 0xdAC17F958D2ee523a2206206994597C13D831ec7 only. That approval burns ETH on chain id 1. Circle USDC on Ethereum, 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, is not the token you send and not the token you receive.

Stay on Ethereum to flip the stable

This route is the wrong tool when both dollars should remain on mainnet. USDT and Circle USDC already have a chain id 1 book. Bridge when the receiving contract is native USDC on Base. Base is where that contract is spent, and where a separate ETH balance pays the fee.

ETH on the L2 after the dollar

The received USDC cannot pay gas. Chain id 8453 charges ETH. That ETH is not the ETH sitting on Ethereum. Keep some on the Base wallet or the new dollars wait. Both tokens use 6 decimals, which does not make them one 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 USDT from Ethereum to USDC on Base?

You send Tether at 0xdAC17F958D2ee523a2206206994597C13D831ec7 on Etherscan, 6 decimals. You receive 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Basescan, Circle's native USDC on Base, also 6 decimals.

Which USDC address should I watch on Base?

0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Basescan. That is Circle's native USDC. USDbC at 0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA will not increase because of this route. If the wallet shows two dollar rows, import the native contract. Chain id 8453 is the network. Confirm the full address on the explorer before you send it onward.

What do I approve on Ethereum?

Tether at 0xdAC17F958D2ee523a2206206994597C13D831ec7 on Etherscan. Keep ETH in that wallet for gas on chain id 1. USDT cannot pay the fee, and the approval may be its own transaction. Blocks are about 12 seconds. The USDC appears only after you switch the wallet to Base.

Is this the same as USDT to USDC on Ethereum?

The tickers match and the contracts do not. On Ethereum the USDC would be 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. This route delivers 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Use the mainnet pool when the dollars should stay on chain id 1. Use this page when Base is where the USDC has to sit.

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