CCTP Bridge

Tutorial
testnet
Connect Wallet
Select Wallet

USDC Bridge Tutorial

This tutorial will guide you through bridging USDC across different blockchain networks using Circle's Cross-Chain Transfer Protocol (CCTP).

What is USDC Bridging?

USDC bridging allows you to transfer USDC tokens from one blockchain network to another. Unlike traditional bridges that lock tokens, CCTP burns USDC on the source chain and mints an equivalent amount on the destination chain, ensuring the USDC remains native and fully backed. The platform currently supports only testnet mode. For mainnet, you can pull your code and run yourself.

Supported Networks

Mainnet

  • • Ethereum
  • • Polygon
  • • Arbitrum
  • • Optimism
  • • Base
  • • Solana

Testnet (for testing)

  • • Sepolia (Ethereum)
  • • Amoy (Polygon)
  • • Arbitrum Sepolia
  • • Optimism Sepolia
  • • Base Sepolia
  • • Solana Devnet

Prerequisites

1. Crypto Wallets

For EVM Chains (Ethereum, Polygon, etc.):

  • • MetaMask, Rainbow, Coinbase Wallet, or any EVM-compatible wallet
  • • Some native tokens (ETH, MATIC, etc.) for gas fees

For Solana:

  • • Phantom, Solflare, or Backpack wallet
  • • Some SOL for transaction fees

2. USDC Tokens

You need USDC on the source chain you're bridging from

3. Gas/Transaction Fees

  • EVM chains: Native token (ETH, MATIC, etc.)
  • Solana: SOL

Getting Started

Step 1: Connect Your Wallets

  1. 1. Open the Bridge Application - Navigate to the bridge website
  2. 2. Connect EVM Wallet (Blue button) - Click "Connect Wallet" and select your wallet
  3. 3. Connect Solana Wallet (Purple button) - Click "Select Wallet" and choose your Solana wallet
  4. 4. Select Network Mode - Choose "Testnet" for testing or "Mainnet" for real transfers

You're ready! You'll now see your wallet balances displayed.

Understanding the Bridge Process

Before you start bridging, let's understand what happens in each step.

For EVM Chains (4 Steps)

🔓

Step 1: Approve

What it does: Gives permission to the bridge contract to spend your USDC

Why it's needed: Smart contracts on EVM chains need explicit permission to move tokens from your wallet. This is a security feature.

⏱️ Time: ~15-60 seconds

💰 Gas cost: Low (~$0.10-$2)

🔥

Step 2: Deposit

What it does: Burns your USDC on the source chain

Why it's needed: CCTP works by destroying USDC on the source chain and creating fresh USDC on the destination chain. This maintains 1:1 backing.

⚠️ Important: After this step, your USDC is burned. You must complete the remaining steps to receive it on the destination chain.

⏱️ Time: ~30 seconds - 2 minutes

💰 Gas cost: Medium (~$0.20-$5)

📝

Step 3: Fetch Attestation

What it does: Gets a cryptographic proof from Circle's attestation service

Why it's needed: The destination chain needs proof that USDC was actually burned on the source chain.

⏱️ Time: ~1-3 minutes

💰 Gas cost: None (read operation)

💡 Note: No wallet interaction needed. The app handles this automatically.

🎉

Step 4: Claim

What it does: Mints fresh USDC on the destination chain

Why it's needed: This is the final step where you receive your USDC on the destination chain.

⏱️ Time: ~30 seconds - 2 minutes

💰 Gas cost: Medium (~$0.20-$5)

Success: You now have USDC on the destination chain!

For Solana (3 Steps)

When bridging from Solana, there are only 3 steps (no approval needed because Solana uses a different token model).

Step 1: Deposit 🔥 (Burns USDC on Solana)
Step 2: Fetch Attestation 📝 (Gets Circle's proof)
Step 3: Claim 🎉 (Mints USDC on destination)

Key Takeaways

  • Your funds are safe at every step - The bridge process is atomic (all or nothing)
  • Burnt ≠ Lost - Burning on source = Minting on destination
  • Attestation is the key - Circle's signature proves the burn happened
  • No intermediate tokens - You get native USDC, not wrapped versions
  • Each step must complete - Don't close the page until all steps are done

Bridge from EVM to EVM

Transfer USDC between Ethereum-compatible chains (e.g., Ethereum → Polygon)

Step 1: Select Source Chain

Look for the bridge card showing your connected EVM chain. You'll see your balances displayed.

Step 2: Choose Destination

  1. 1. Click the dropdown menu in the Destination column
  2. 2. Select the destination EVM chain
  3. 3. You'll see the recipient address (your connected wallet address)

Step 3: Enter Amount

  1. 1. Type the amount of USDC you want to bridge
  2. 2. Or click MAX to bridge your entire balance
  3. 3. The Fast Transfer Fee will appear (typically 0.1-0.5 USDC)

Step 4: Execute Bridge (4 Steps)

  1. 1. Approve - Click Approve button → Confirm in wallet → Wait for confirmation
  2. 2. Deposit - Click Deposit button → Confirm in wallet → Wait for confirmation
  3. 3. Fetch Attestation - Click button → Wait ~1-2 minutes (automatic)
  4. 4. Claim - Click Claim → Wallet switches networks → Confirm → Done! 🎉

Done! Your USDC is now on the destination chain. Click + New Bridge to bridge more.

Bridge from EVM to Solana

Transfer USDC from any EVM chain to Solana

Prerequisites

  • ✓ Connect both your EVM and Solana wallets
  • ✓ Have USDC on an EVM chain
  • ✓ Have ETH/MATIC/etc. for gas fees
  • ✓ Have SOL for claiming on Solana

Follow the same process as EVM to EVM, but select "Solana" (or "Solana Devnet") as your destination. The recipient will be your Solana wallet address, and in Step 4 (Claim), you'll sign with your Solana wallet instead of switching networks.

Bridge from Solana to EVM

Transfer USDC from Solana to any EVM chain

Prerequisites

  • ✓ Connect both your Solana and EVM wallets
  • ✓ Have USDC on Solana
  • ✓ Have SOL for transaction fees

The process is similar but with 3 steps instead of 4 (no approval needed):

Step 1: Deposit 🔥 - Click Deposit → Confirm in Solana wallet → Wait for confirmation
Step 2: Fetch Attestation 📝 - Click button → Wait ~1-2 minutes
Step 3: Claim 🎉 - Wallet switches to destination EVM chain → Confirm → Done!

Understanding Fees

Fast Transfer Fee

  • What it is: A fee paid to Circle's CCTP Protocol for fast attestation
  • Amount: Typically 0.1-0.5 USDC (varies by network and amount)
  • Who receives it: Circle (not us - we don't charge any fees)
  • Why required: Ensures fast and reliable cross-chain transfers

Gas Fees

EVM Chains (in native tokens like ETH, MATIC):

  • • Approve: ~$0.10-$2
  • • Deposit: ~$0.20-$5
  • • Claim: ~$0.20-$5

Solana (in SOL):

  • • Deposit: ~0.001 SOL (~$0.10)
  • • Claim: ~0.001 SOL (~$0.10)

💡 Tip: Gas fees vary by network congestion. Use testnets for practice!

Troubleshooting

❌ "Insufficient balance" Error

Problem: Not enough USDC or gas tokens

Solution:

  • • Check your USDC balance
  • • Ensure you have enough native tokens for gas fees
  • • On testnet, get tokens from faucets (see FAQ)
❌ Transaction Stuck on "Processing"

Problem: Network congestion or RPC issues

Solution:

  • • Wait 5-10 minutes
  • • Check transaction status on blockchain explorer
  • • If failed, click + New Bridge and try again
❌ Wallet Not Connecting

Problem: Wallet extension not detected or locked

Solution:

  • • Refresh the page
  • • Unlock your wallet
  • • Try a different browser
  • • Disable conflicting extensions
❌ Attestation Taking Too Long

Problem: Circle's attestation service may be delayed

Solution:

  • • Wait up to 5 minutes
  • • The system retries automatically
  • • If error appears, verify your deposit transaction succeeded first

Frequently Asked Questions

How long does bridging take?
  • Total time: 5 minutes
  • Deposit: 30 seconds - 2 minutes
  • Attestation: 1-3 minutes
  • Claim: 30 seconds - 2 minutes
Is this safe?

Yes! This bridge uses Circle's official CCTP protocol:

  • ✅ No wrapped tokens
  • ✅ Native USDC on both sides
  • ✅ Audited smart contracts
  • ✅ Used by major protocols
Where can I get testnet tokens?

Testnet USDC Faucets:

Testnet Native Tokens:

Why do I need both wallets connected?
  • EVM to Solana: Need Solana wallet to receive USDC
  • Solana to EVM: Need EVM wallet to receive USDC
  • • Both must be connected before bridging
Can I bridge to a different wallet address?

Currently, the bridge sends USDC to your connected wallet address on the destination chain. Support for custom recipient addresses may be added in the future.

Tips for Success

  • Always test on testnet first before using mainnet
  • Keep some gas tokens in your wallet for future transactions
  • Double-check recipient address before confirming
  • Wait for confirmations - don't refresh during transactions
  • Use the refresh button to update balances after bridging
  • Start with small amounts until you're comfortable with the process

Happy Bridging! 🌉

Need to bridge more USDC? Just click + New Bridge and repeat the process!

Start Bridging Now →