Cross-chain · Solana → Ethereum

Swap USDC from Solana to USDT on Ethereum

Swap USDC from Solana to USDT on Ethereum. Circle's SPL mint leaves Solana, and Tether's ERC-20 is what can arrive on Ethereum mainnet.

You send EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v from a Solana token account. Solscan is the explorer, Phantom or Solflare signs, and there is no ERC-20 approval on that mint. You are aiming at 0xdAC17F958D2ee523a2206206994597C13D831ec7, Tether on Ethereum, chain id 1. Etherscan is the check. Blocks there are about 12 seconds. That USDT does not pay gas. ETH does, and a mainnet wallet with only USDT still cannot move it.

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

Mainnet USDT is six decimals and fussy about allowances

0xdAC17F958D2ee523a2206206994597C13D831ec7 uses six decimals, unlike some pegged USDT contracts that use eighteen. A raw unit copied from another chain will look enormous or tiny. Tether's mainnet contract also often refuses a new approval until the old allowance is set back to zero. That quirk appears only after the USDT has arrived and you try to spend it. It is not part of the Solana send. If your spender is stuck, reset the allowance before you raise it again.

Circle on Ethereum is a different contract

If the receiver wanted USDC, the address is 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, and this route is wrong. Maker DAI is 0x6B175474E89094C44Da98b954EedeAC495271d0F, also wrong for this page. Tether is the arrival you get. Etherscan on chain id 1 is the proof. A Base or Arbitrum USDT balance is a third mistake. Do not tell a counterparty the funds are on mainnet until that exact contract shows the credit.

Phantom signs the debit, an EVM wallet must receive

MetaMask cannot hold EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v, and Phantom cannot hold the Ethereum USDT. You need both wallets funded for fees: native SOL on the way out, ETH on the way in. The sentinel 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE is that ETH, not the USDT. Ethereum is the arrival network. Leaving SOL at zero strands the source signature the same way leaving ETH at zero strands the destination.

Stay on Solana when the dollar never needed mainnet

Circle and Tether both have Solana mints. A local swap avoids Ethereum gas, the 12 second blocks, and the allowance quirk. Bridge when the creditor named 0xdAC17F958D2ee523a2206206994597C13D831ec7. The minimum USDT is the floor. Solscan confirming the burn or lock is not the moment Etherscan must update, and this page will not pretend there is a fixed gap between them.

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 USDC from Solana to USDT on Ethereum?

You send EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v from a Solana token account. Solscan is the explorer, Phantom or Solflare signs, and there is no ERC-20 approval on that mint.

Does Solana USDC arrive as USDC on Ethereum?

No. Circle's mint EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v leaves Solana and Tether at 0xdAC17F958D2ee523a2206206994597C13D831ec7 is what can arrive on Ethereum, chain id 1. Circle's mainnet USDC is a different contract. Check Etherscan. If the receiver said Circle, this route is wrong. ETH is still required to move the USDT.

Why might a later USDT approval fail?

Tether on Ethereum often requires the allowance to be reset to zero before a new approval. That behavior belongs to 0xdAC17F958D2ee523a2206206994597C13D831ec7, and it is not an ERC-20 step on Solana. Phantom does not approve the SPL mint that way. Check the allowance on Etherscan, and keep ETH for the reset.

What pays gas on each side of this hop?

Native SOL pays on Solana, and you confirm the mint on Solscan with Phantom. ETH pays on Ethereum, chain id 1, about 12 second blocks, explorer Etherscan. USDT cannot pay that fee. The sentinel 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE marks ETH, not Tether. Hold both fee coins before you sign.

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