A cross-chain application that transfers USDC tokens from an EVM-compatible chain (Sepolia) to Solana Devnet using Wormhole SDK and Circleβs CCTP.
Built for blockchain scalability, trust minimization, and practical multi-chain interoperability.
- π Cross-chain transfer: Seamless transfer of stablecoins between Ethereum (Sepolia) and Solana.
- πͺ Circle CCTP integration: Uses Circle's native USDC transfer mechanism for real-world bridging.
- π οΈ EVM & Solana support: Uses Wormhole plugins for both ecosystems.
- β±οΈ Attestation timeout handling: Waits for VAA proofs to ensure security before finalizing transfers.
- π¦ Clean modular structure: Easy to extend or migrate to production/mainnet.
evm-solana-usdc-bridge/
βββ src/
β βββ main.ts # Main transfer logic
β βββ singer.ts # Loads wallets/signers for EVM & Solana
β βββ config.ts # Transfer params, chains, tokens, timeouts
β βββ utils.ts # Utils used in the project
βββ .env # Store private keys securely
βββ tsconfig.json # TypeScript configuration
βββ package.json # Project dependencies and scripts
- Node.js β₯ 18
- Sepolia ETH and Solana Devnet airdrop
- Circle CCTP supported tokens (e.g., USDC)
.envfile with:
ETH_PRIVATE_KEY="your-evm-private-key"
SOL_PRIVATE_KEY="your-solana-private-key"# Install dependencies
npm install
# Run transfer script
npx ts-node src/main.tsOr using npm run
npm run startEdit src/config.ts to modify:
CHAINS.FROM/CHAINS.TO: e.g.,'Sepolia'β'Avalanche','Solana'USDC.AMOUNT: amount in tokens (0.1 USDC)TIMEOUTS.ATTESTATION: milliseconds to wait for VAACIRCLE.AUTOMATIC: toggle auto-complete of transfer
- @wormhole-foundation/sdk β Core SDK for chain abstraction
- Circle CCTP β Cross-chain USDC attestation and minting
- Solana Web3 & Ethers.js (under the hood via Wormhole)
- TypeScript, Node.js, dotenv
This project showcases:
- Practical interoperability using real-world tooling (Circle & Wormhole)
- Secure bridging with VAA-based attestation
- Developer fluency across EVM and Solana ecosystems
- Readiness for production-grade multi-chain architecture
Inspired by Wormhole examples and Circle developer docs.
MIT β Free to use, fork, and adapt.