
To move USDC from Polygon to Ethereum mainnet you can use Circle's or Polygon's bridging tools, or a cross-network swap: send USDC on Polygon to a swap order and receive USDC (ERC20) on Ethereum. On KOT.CASH the swap starts at about 12 USDC and the Ethereum payout carries a network fee of roughly 0.8 USDC at the time of writing. Before anything else, check which USDC you hold on Polygon โ there are two, and they are different tokens.
Two USDCs on Polygon
Polygon PoS has native USDC, issued directly by Circle since October 2023 at contract 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359, and the older bridged USDC.e at 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174, which was minted by the Polygon PoS bridge against USDC locked on Ethereum. Both are worth a dollar in normal conditions, but only native USDC is redeemable with Circle on Polygon, and many apps now quote only the native one.
Wallets often show both simply as 'USDC'. Open the token in your wallet or in Polygonscan and look at the contract address. The provider list reflects this split: Polygon USDC and a separate MATIC.E entry for the bridged token. Choose the network that matches what you hold, or the deposit will not be recognised.
The layers of the trip
- Gas on Polygon is paid in POL. MATIC was migrated to POL in September 2024; wallets that still say MATIC mean the same gas coin. A token transfer costs a fraction of a cent, but with zero POL the transfer cannot be sent.
- The deposit waits for 60 Polygon blocks. At about two seconds per block that is two minutes; the provider's processing estimate is 2โ4 minutes.
- The payout is native USDC ERC20 on Ethereum (
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48), minus about 0.8 USDC network fee. - On Ethereum, moving that USDC later costs ETH gas. Make sure the receiving address has some ETH if you plan to send it on.
The bridge alternative
Polygon PoS is a sidechain secured by its own validators, not an optimistic rollup, so there is no week-long challenge period. Withdrawing through the PoS bridge burns the tokens on Polygon and waits for the next checkpoint โ a Merkle root of Polygon blocks that validators submit to Ethereum, historically every 30 minutes to a few hours โ before you complete the exit on Ethereum with a second transaction. Native USDC, on the other hand, moves between chains through Circle's Cross-Chain Transfer Protocol (CCTP), which burns on the source chain and mints on the destination, typically within minutes to tens of minutes depending on the chains involved.
Both routes need ETH on mainnet for the final transaction. For a few hundred dollars, the Ethereum gas of the claim and the 0.8 USDC swap payout fee are in the same range; the swap saves the second transaction and the waiting.
Step by step (swap)
- Identify your token: native USDC or USDC.e, by contract address.
- Make sure the Polygon address has a little POL for gas.
- In the widget, choose USDC on the matching Polygon network as the coin you send and USDC on Ethereum (ERC20) as the coin you receive. Enter at least about 12 USDC.
- Paste your Ethereum address โ the same 0x address works.
- Send the USDC on Polygon to the deposit address in one transaction and follow the order page.
What arrives, in numbers
| You send | โ USDC received | Share lost |
|---|---|---|
| 50 USDC | โ 48.7 | โ 2.6% |
| 200 USDC | โ 197.2 | โ 1.4% |
| 1,000 USDC | โ 989.2 | โ 1.1% |
The numbers subtract the 1% floating-rate service fee and the 0.8 USDC payout fee. Because Ethereum gas moves, the payout fee in the live quote can be lower or higher than this snapshot.
Swapping USDC.e instead of native USDC
If what you hold is USDC.e, you have two options. Choose the USDC.e (MATIC.E) network as the deposit network in the widget and receive native USDC on Ethereum โ the swap handles the conversion. Or first swap USDC.e to native USDC on Polygon in a DEX and then follow the steps above. The first route is one order; the second keeps you on Polygon if that is where you want to stay. Either way, never send USDC.e to a deposit expecting native USDC: the contract differs and the provider will not recognise the deposit automatically.
Do you need Ethereum at all?
Before paying to move to mainnet, check whether the destination accepts USDC on a cheaper network. Many exchanges accept native USDC on Polygon, Base, Arbitrum and Solana directly. Coinbase, for example, credits USDC on several networks. The stablecoin fee comparison shows what each transfer costs, and the guide on USDC on Base describes one of the cheapest options.
FAQ
What is the difference between USDC and USDC.e on Polygon?
USDC is issued by Circle directly on Polygon; USDC.e is the older bridged token backed by USDC locked in the Polygon PoS bridge on Ethereum. They have different contract addresses.
What is the minimum for Polygon USDC to Ethereum USDC?
About 12 USDC at the time of writing; the widget shows the current figure.
Why can't I send USDC on Polygon?
There is no POL on the address for gas. Add a little POL and try again.
How long does the swap take?
About 2 minutes for 60 Polygon blocks plus 2โ4 minutes of processing, then the Ethereum payout.
Is POL the same as MATIC?
POL replaced MATIC as Polygon's gas and staking token in September 2024; balances migrated one to one.