Cross-chain · Ethereum → Polygon

Swap USDT from Ethereum to USDC on Polygon

Swap USDT from Ethereum to USDC on Polygon. Wallets that need Circle's native USDC on chain 137 spend Ethereum Tether to receive it.

You send Tether at 0xdAC17F958D2ee523a2206206994597C13D831ec7 on Etherscan, 6 decimals. You receive 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 on Polygonscan, Circle's native USDC on Polygon, also 6 decimals. The older bridged USDC.e at 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174 is a different contract and is not this output. Gas to leave is ETH on chain id 1. Polygon gas is POL on chain id 137. If an app printed the USDC.e address, stop, because this route will not credit that bridged contract. The native dollar and the bridged dollar do not share a Polygonscan balance. Deposit only where the allowlist matches the native contract.

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

Native USDC is not USDC.e

Apps on Polygon split the dollar. Circle's native token is 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359. Bridged USDC.e is 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174. This route pays the native contract. If the app's allowlist prints the USDC.e address, these dollars will not credit. Read the allowlist on Polygonscan before you deposit.

Tether is what leaves Ethereum

Approve 0xdAC17F958D2ee523a2206206994597C13D831ec7 only. Ethereum USDT often needs its own approval transaction, and that transaction burns ETH. Circle USDC on Ethereum, 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, is not the token you send and not the token you receive.

A mainnet stable swap stays on mainnet

This route is the wrong tool when both dollars should remain on Ethereum. USDT and Circle USDC already have a chain id 1 book. Bridging is justified when the receiving contract is the Polygon native USDC. Polygon is where that contract is spent, and where POL pays the fee.

POL after a 6 decimal dollar

The received USDC uses 6 decimals, like the Tether you spent, and it still cannot pay gas. Chain id 137 blocks about every 2 seconds and charges POL. Keep POL on the destination wallet. Chain id 1 blocks about every 12 seconds and charges ETH.

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 Polygon?

You send Tether at 0xdAC17F958D2ee523a2206206994597C13D831ec7 on Etherscan, 6 decimals. You receive 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 on Polygonscan, Circle's native USDC on Polygon, also 6 decimals.

Which USDC address should I watch on Polygon?

0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 on Polygonscan. That is Circle's native USDC. USDC.e at 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174 is the bridged token and will not increase because of this route. If your wallet shows two USDC rows, import the native contract and hide the one the app did not ask for.

What do I approve on Ethereum?

Tether at 0xdAC17F958D2ee523a2206206994597C13D831ec7 on Etherscan. Keep ETH in the same wallet for gas on chain id 1. USDT cannot pay that fee, and the approval may be a separate transaction from the swap. Blocks are about 12 seconds. The USDC you receive shows up only after you switch to chain id 137.

Is this the same as swapping USDT for USDC on Ethereum?

The tickers match and the contracts do not. On Ethereum the USDC would be 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. This route delivers Polygon native USDC. Use the mainnet pool when the dollars should stay on chain id 1. Use this page when chain 137 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