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.

Native USDC is not USDC.e
Tether is what leaves Ethereum
A mainnet stable swap stays on mainnet
POL after a 6 decimal dollar
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.
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.
Swap DAI
Swap Dai Stablecoin (DAI) on Ethereum. Ethereum quotes on XAUConnect, with the fee and the minimum you receive shown bef
Swap BNB
Swap BNB (BNB) on Ethereum. Ethereum quotes on XAUConnect, with the fee and the minimum you receive shown before you sig
Swap UNI
Swap Uniswap (UNI) on Ethereum. Ethereum quotes on XAUConnect, with the fee and the minimum you receive shown before you
Swap USDC
Swap USD Coin (USDC) on Ethereum at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. Circle's token, not a bridged copy, and
How to move tokens from Ethereum to Solana
Bridge tokens from Ethereum to Solana with XAUConnect: paste a base58 destination, never 0x, test small, verify the arri
How to create an SPL token on Solana
Create an SPL token on Solana: mint, decimals, revoke freeze/mint authorities, seed a Jupiter-routable pool, then swap t
Build programmatically
Swap via API for bots and AI agents: quotes, builds, and cross-chain routes.