Cross-chain · Ethereum → BNB Chain

Swap ETH from Ethereum to USDC on BNB Chain

Swap ETH from Ethereum to USDC on BNB Chain. You spend native ETH on Ethereum and a chain 56 wallet receives Binance-Peg USDC.

Native ETH is not an ERC-20 you approve. The route marks it as 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE, and on Ethereum that placeholder is the gas coin Etherscan shows as a native balance. The dollar that arrives is 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d on BscScan, Binance-Peg USDC, 18 decimals. Circle's own USDC on Ethereum is a different contract. Because the asset you sell and the fee you pay are both ETH, leave a remainder for gas on chain id 1. Blocks there are about 12 seconds.

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

Leave ETH behind for the fee

Chain id 1 charges ETH. If the swap amount is your entire native balance, the transaction cannot pay for itself. Move or keep a small ETH remainder in the same wallet before you sign. The received dollars will not refund that fee, because they land on BNB Chain as an ERC-20.

Pegged USDC on BscScan

Expect 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d. It uses 18 decimals, so a wallet still set to 6 decimals will misstate the balance. Circle USDC at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 stays on Ethereum and is not credited. BNB Chain is where this pegged dollar is spent.

A mainnet ETH to USDC trade stays home

This route is the wrong tool when you want Circle USDC on Ethereum. That pool already exists on chain id 1, and it pays a different contract. Use the bridge when a BNB Chain app, invoice, or pool has whitelisted the Binance-Peg address. Selling ETH for dollars on mainnet never creates that BscScan balance.

BNB after the dollars land

Pegged USDC does not pay gas on chain id 56. Blocks there are about 3 seconds, and each transfer still needs BNB. If the destination wallet has never held BNB, the new dollars can show on BscScan and still be unable to move. Add gas before the next signature.

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 BNB Chain?

Native ETH is not an ERC-20 you approve. The route marks it as 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE, and on Ethereum that placeholder is the gas coin Etherscan shows as a native balance.

Do I approve a contract for the ETH I send?

No approval is required for native ETH. The route records it as 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE, which is a placeholder for the gas coin, not a token you import. You sign a send on Ethereum, chain id 1. Keep enough ETH unspent to cover gas, because the amount you bridge and the fee come from the same balance.

Which USDC will I see on BNB Chain?

Binance-Peg USDC at 0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d on BscScan. It is an 18 decimal token. Circle USDC on Ethereum is 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 and uses 6 decimals. If the app you are funding lists the Ethereum address, this route delivers the wrong chain and the wrong contract.

When is selling ETH for USDC on Ethereum enough?

When the dollars should remain on chain id 1 as Circle USDC. This bridge is the wrong tool for that balance. Open it only if the next use of the money is on BNB Chain and the accepted contract is the pegged USDC. A mainnet swap never moves the wallet onto chain id 56.

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