Cross-chain · Ethereum → Base

Swap DAI from Ethereum to USDC on Base

Swap DAI from Ethereum to USDC on Base. Holders leaving Maker DAI for Circle's dollar on chain 8453 spend DAI and receive native USDC.

DAI is Maker's collateral dollar at 0x6B175474E89094C44Da98b954EedeAC495271d0F on Etherscan, 18 decimals. The USDC you receive is 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Basescan, Circle's native USDC, 6 decimals. Bridged USDbC at 0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA is not the receipt. You pay ETH on chain id 1, about 12 seconds a block. You later need a separate ETH balance on Base, chain id 8453, because the USDC cannot pay gas. Import the native contract from Basescan or a wallet that only tracks USDbC will look empty. Import the native USDC from Basescan once the wallet is on chain id 8453. A wallet that only tracks USDbC will hide these dollars even after the route completes. Confirm that contract on Basescan.

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

Watch native USDC, not USDbC

Basescan should show 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. If you imported only 0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA, the wallet will look empty. Decimals also change, from 18 on Maker DAI to 6 on Circle's native USDC. Read both token pages before the next transfer.

The Maker contract is the approval

0x6B175474E89094C44Da98b954EedeAC495271d0F is the DAI that decreases. Circle USDC on Ethereum, 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, is what a mainnet DAI to USDC swap would pay. This route does not pay that contract.

Stay in DAI on Ethereum when that is the job

This route is the wrong tool if you want Circle USDC on chain id 1 or if you want to remain in DAI. Both are mainnet actions. Bridge when a Base app whitelisted the native USDC. Base is where the separate ETH balance then pays for using it.

Two ETH balances around the decimal change

ETH pays the Ethereum approval. ETH on chain id 8453 pays any later move of the USDC. The USDC cannot sponsor that second fee. Hold Base ETH before you deposit the new dollars.

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

DAI is Maker's collateral dollar at 0x6B175474E89094C44Da98b954EedeAC495271d0F on Etherscan, 18 decimals. The USDC you receive is 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Basescan, Circle's native USDC, 6 decimals.

Does this give me Circle USDC on Ethereum?

No. It spends Maker DAI and pays Circle's native USDC on Base, 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Basescan. Ethereum Circle USDC remains 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Etherscan. If that mainnet contract is what you wanted, trade DAI for it on chain id 1 and skip the bridge.

Why can the USDC display look nothing like the DAI amount?

DAI uses 18 decimals and Base native USDC uses 6. A wrong decimal field shifts the display by many zeros. Check decimals on Basescan for 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Judge the trade by the quote you sign. This page does not set that quote.

What if the app listed USDbC?

Do not deposit this output there. USDbC is 0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA. This route pays the native contract on Base, chain id 8453. Sending native USDC into a pool that wants the bridged token will not credit you. Match the allowlist, not the USDC ticker.

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