USDC Bridge Skill
Bridge USDC between chains in one command using Circle CCTP.
What It Does
Move USDC between Ethereum, Base, Arbitrum, Optimism, Polygon, and Avalanche using Circle's Cross-Chain Transfer Protocol (CCTP).
- Native USDC — Not wrapped tokens, real USDC on each chain
- No fees — CCTP is free (only gas costs)
- One command — Handles approval, burn, attestation, and mint
- Resumable — If interrupted, pick up where you left off
Quick Start
# Install dependencies
npm install
# Set your wallet key
export WALLET_PRIVATE_KEY=0x...
# Bridge 50 USDC from Base to Arbitrum
node scripts/bridge.js bridge 50 --from base --to arbitrum
Commands
# Bridge USDC
node scripts/bridge.js bridge <amount> --from <chain> --to <chain>
# Check bridge status / resume interrupted bridge
node scripts/bridge.js status <txHash>
# Estimate gas costs
node scripts/bridge.js estimate <amount> --from <chain> --to <chain>
# List supported chains
node scripts/bridge.js chains
# View pending bridges
node scripts/bridge.js pending
Supported Chains
| Chain | Domain | |-------|--------| | Ethereum | 0 | | Avalanche | 1 | | Optimism | 2 | | Arbitrum | 3 | | Base | 6 | | Polygon | 7 |
How CCTP Works
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Source │ │ Circle │ │ Dest │
│ Chain │────▶│ Attestation │────▶│ Chain │
│ (burn) │ │ (~13 min) │ │ (mint) │
└─────────────┘ └─────────────┘ └─────────────┘
- USDC is burned on source chain via TokenMessenger