These are the exact CLI examples from the CLI-USAGE.md file:
# Run with interactive TUI./bin/cctp transfer# Or run directly without buildinggo run ./cmd/cli transfer# Use testnet./bin/cctp transfer --testnet# Specify transfer type./bin/cctp transfer --type fast # Fast Transfer (~8-20 seconds, with fee)./bin/cctp transfer --type standard # Standard Transfer (~13-19 minutes, no fee)./bin/cctp transfer --type auto # Auto-select based on chain (default)# Pre-populate transfer details./bin/cctp transfer --source ethereum --dest arbitrum --amount 100 --recipient 0x... --type fast# Resume existing transfer./bin/cctp resume 0x... # Provide burn transaction hash# Specify keystore directory./bin/cctp --keystore ~/.ethereum/keystore transfer
# Fast Transfer - completed in ~8-20 seconds with a feecctp transfer \ --source ethereum \ --dest arbitrum \ --amount 100 \ --recipient 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb \ --type fast
Auto Mode Behavior
Automatically selects Fast Transfer when available
Falls back to Standard Transfer for instant finality source chains (Avalanche, Polygon PoS, Sei, Sonic, XDC, HyperEVM, Arc)
These chains complete standard transfers in ~8 seconds:
# Avalanche - instant finality, no fast transfer neededcctp transfer --source avalanche --dest ethereum --amount 50# Polygon PoS - instant finalitycctp transfer --source polygon --dest base --amount 100# Sonic - instant finalitycctp transfer --source sonic --dest arbitrum --amount 75
These chains support both Fast and Standard transfers:
# Ethereum to Arbitrum - Fast Transfercctp transfer --source ethereum --dest arbitrum --amount 100 --type fast# Base to OP Mainnet - Standard Transfercctp transfer --source base --dest "OP Mainnet" --amount 200 --type standard
# Error: no wallet source available# Solution: Set PRIVATE_KEY or provide --keystoreexport PRIVATE_KEY=0x...# ORcctp transfer --keystore ~/.ethereum/keystore