How to Bridge USDC from Ethereum to Solana
Step-by-step guide to bridging USDC from Ethereum to Solana using Circle's CCTP, with fee estimates and risk warnings.
USDC on Ethereum and USDC on Solana are separate tokens on incompatible blockchains. You cannot send between them directly. Bridging is required, and the safest method is Circle's CCTP, which burns USDC on one chain and mints native USDC on the other.
Before You Start
- An Ethereum wallet (MetaMask or similar) with USDC and enough ETH for gas ($15-40 depending on congestion)
- A Solana wallet (Phantom or similar) with a small amount of SOL (~0.01) for the destination transaction
- Patience: the transfer takes 15-20 minutes for Ethereum finality plus a few seconds on Solana
All bridging methods require paying Ethereum gas, which can spike above $50 during congestion. Check current prices at Etherscan Gas Tracker before starting. If the cost is too high, consider using a centralized exchange instead (deposit USDC on Ethereum, withdraw on Solana).
How to Bridge USDC via CCTP
- Go to a CCTP-enabled bridge. Open portalbridge.com (by Wormhole, uses CCTP automatically for USDC).
- Connect your Ethereum wallet. Click "Connect Wallet" and select your Ethereum wallet (MetaMask, Rainbow, etc.).
- Select USDC, Ethereum as source, Solana as destination. The bridge should automatically select CCTP as the method for USDC. Verify "CCTP" appears on the interface.
- Enter the amount and your Solana wallet address. Paste your Phantom (or other Solana wallet) address. Solana addresses are base58-encoded and look different from Ethereum addresses.
- Approve USDC spending. First-time users must approve the CCTP contract to spend USDC. This is a one-time gas transaction ($5-15).
- Send a small test first. Bridge $10-20 to confirm everything works. Wait for the full cycle to complete.
- Initiate the burn transaction. For your main amount, confirm the transaction in your wallet. Your USDC is burned on Ethereum ($10-30 in gas).
- Wait 15-20 minutes for attestation. Circle's service verifies the burn and generates a cryptographic attestation. The bridge interface shows progress.
- Complete the mint on Solana. Some bridges handle this automatically. If prompted, approve the Solana transaction (~$0.01 in SOL). Native USDC appears in your Solana wallet.
Fees and Timing
| Step | Cost | Time |
|---|---|---|
| USDC approval (first time only) | $5-$15 (ETH gas) | 1-2 min |
| Burn on Ethereum | $10-$30 (ETH gas) | 1-2 min |
| Attestation wait | $0 | 15-20 min |
| Mint on Solana | ~$0.01 (SOL) | Seconds |
Total cost is $15-45, almost entirely Ethereum gas. CCTP charges no bridge protocol fee, which makes it cheaper than Wormhole's lock-and-mint approach. The simplest alternative is using a centralized exchange: deposit USDC on Ethereum, withdraw on Solana, total cost $10-30. For background on stablecoin infrastructure, see our research on stablecoin design.
FAQ
Why not use Wormhole or another bridge?
CCTP is operated by Circle, the issuer of USDC. It burns and mints native tokens instead of creating wrapped versions, which eliminates smart contract custody risk. Wormhole's lock-and-mint bridges have suffered exploits (the $320M Wormhole hack in 2022). For USDC specifically, CCTP is the safest option.
Can I use an exchange instead of a bridge?
Yes. Deposit USDC to Coinbase, Binance, or Kraken on the Ethereum network, then withdraw USDC on Solana. This avoids bridge smart contracts entirely but requires a KYC-verified exchange account and gives the exchange temporary custody of your funds.
What if my bridge transaction gets stuck?
If the burn confirmed on Ethereum but USDC did not arrive on Solana, check the bridge's transaction tracker using your Ethereum transaction hash. Most bridges allow you to manually complete the Solana side. If it still fails, contact the bridge's support with your transaction details. Funds are rarely lost permanently.
This guide is for educational purposes only and does not constitute financial advice. Bridging cryptocurrency carries risks including smart contract exploits and transaction failures. Always test with small amounts first. Spark is not responsible for losses through third-party bridge services.
Skip the fees. Keep your keys.
Spark is a self-custodial Bitcoin wallet with instant transfers, no network fees, and built-in stablecoin support.
Learn more about Spark →
