This sample application demonstrates Cross-Chain Transfer Protocol (CCTP) step-by-step capabilities on testnet networks. The app showcases CCTP functionality across multiple testnets:
- Ethereum Sepolia
- Avalanche Fuji C-Chain
- Base Sepolia
- Linea Sepolia
- Arbitrum Sepolia
- Sonic Blaze
- Worldchain Sepolia
- Optimism Sepolia
- Solana Devnet
- Codex Testnet
- Unichain Sepolia
- Polygon PoS Amoy
- Sei Testnet
- XDC Testnet
- Plume Testnet
- HyperEVM Testnet
- Ink Sepolia
- Copy the
.env.examplefile to.env.local:
cp .env.example .env.local-
Update the
.env.localfile with your configuration:- EVM Private Key: Add your EVM private key (32-byte hex string, with or without 0x prefix) to
NEXT_PUBLIC_EVM_PRIVATE_KEY - Solana Private Key: Add your Solana private key (Base58 encoded string) to
NEXT_PUBLIC_SOLANA_PRIVATE_KEY
The application will automatically use the appropriate private key based on the source/destination chain:
- EVM chains: Uses
NEXT_PUBLIC_EVM_PRIVATE_KEY - Solana chains: Uses
NEXT_PUBLIC_SOLANA_PRIVATE_KEY
Note: For backward compatibility,
NEXT_PUBLIC_PRIVATE_KEYis still supported for EVM chains ifNEXT_PUBLIC_EVM_PRIVATE_KEYis not set. - EVM Private Key: Add your EVM private key (32-byte hex string, with or without 0x prefix) to
- Clone this repository:
git clone https://github.com/circlefin/circle-cctp-crosschain-transfer.git
- Install dependencies.
npm run dev
- Run the development server.
npm run dev
The sample app will be running at http://localhost:3000.