Cross-chain · Ethereum → Arbitrum One

Swap WBTC from Ethereum to USDC on Arbitrum One

Swap WBTC from Ethereum to USDC on Arbitrum One. Holders of wrapped bitcoin who need Circle's native USDC on chain 42161 spend WBTC and receive that dollar.

WBTC is an ERC-20, not bitcoin on the Bitcoin chain. You approve 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 on Etherscan. It uses 8 decimals. A Bitcoin address cannot receive it. The dollars you receive are 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 on Arbiscan, Circle's native USDC, 6 decimals. USDC.e at 0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8 is not the output. Gas to leave is ETH on chain id 1, about 12 seconds a block. The destination is Arbitrum One, not Nova, and the USDC needs ETH there to move. Import the native USDC from Arbiscan once the wallet is on chain id 42161. The USDC.e row stays unchanged.

Diagram for Swap WBTC from Ethereum to USDC on Arbitrum One
WBTC leaves Ethereum. USDC is what can arrive on Arbitrum One.

Not a Bitcoin withdrawal

This route is the wrong tool if the destination is a Bitcoin address. WBTC stays an Ethereum token until the route spends it, and the output is a dollar on Arbitrum One. Redeeming WBTC for bitcoin, where a custodian allows it, does not use Arbiscan and does not pay 0xaf88d065e77c8cC2239327C5EDb3A432268e5831.

Eight decimals in, six out, and not USDC.e

Check 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 on Etherscan for the WBTC you spend. Check 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 on Arbiscan for the native USDC. The bridged USDC.e contract will not move. A mixed-up decimal field will invent the size of the balance.

ETH on both chains, for different reasons

WBTC does not pay Ethereum gas. Keep ETH on chain id 1. Native USDC does not pay Arbitrum One gas. Keep ETH on chain id 42161. Arbitrum One is the network the dollars land on. Nova is a different chain id.

A mainnet WBTC sale is enough for mainnet dollars

WBTC already trades against Circle USDC on Ethereum. Use that pool when the dollars should stay on chain id 1 as 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. This bridge is for a wallet that needs the Arbitrum native contract. Selling on mainnet never creates it.

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 WBTC from Ethereum to USDC on Arbitrum One?

WBTC is an ERC-20, not bitcoin on the Bitcoin chain. You approve 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 on Etherscan.

Can the receiver be a Bitcoin address?

No. The output is Circle's native USDC on Arbitrum One, 0xaf88d065e77c8cC2239327C5EDb3A432268e5831. The input is WBTC at 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599 on Etherscan, an ERC-20 with 8 decimals. Neither side is the Bitcoin network. Use an EVM address that can switch to chain id 42161.

Why does a small WBTC figure represent a large value?

WBTC uses 8 decimals, so a fraction of one token is a meaningful amount of wrapped bitcoin. The USDC you receive is set by the quote you sign, which this page does not fix. Read the minimum on that quote. The native USDC then displays with 6 decimals on Arbiscan.

What do I hold besides WBTC?

ETH on Ethereum, because chain id 1 will not take WBTC as a fee. ETH on Arbitrum One after arrival, because native USDC will not pay chain id 42161. Blocks are about 12 seconds on the way out. Both ETH balances sit apart from the two token contracts. Nova will not show the 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