This sample application demonstrates Cross-Chain Transfer Protocol (CCTP) step-by-step capabilities on testnet networks. The app showcases CCTP functionality across multiple testnets:
- Arc Testnet
- Ethereum Sepolia
- Avalanche Fuji C-Chain
- Base Sepolia
- Linea Sepolia
- Arbitrum Sepolia
- Sonic Testnet
- Worldchain Sepolia
- Optimism Sepolia
- Solana Devnet
- Codex Testnet
- Unichain Sepolia
- Polygon PoS Amoy
- Sei Testnet
- XDC Testnet
- Plume Sepolia
- HyperEVM Testnet
- Ink Sepolia
- Monad Testnet
-
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 install
- Run the development server.
npm run dev
The sample app will be running at http://localhost:3000.