Circle CCTP MCP Server
A Model Context Protocol (MCP) server that enables seamless USDC-only transactions across multiple blockchains using Circle's Cross-Chain Transfer Protocol (CCTP) v2 and Circle Paymaster. Perfect for AI agents that need to handle USDC transfers without worrying about native gas tokens.
🌟 Circle-Powered Features
🔄 Cross-Chain USDC Transfers (CCTP v2)
- Native USDC: Real USDC transfers, not bridges or wrapped tokens
- 8 Testnets Supported: Ethereum, Base, Arbitrum, Avalanche, Sonic, Linea, Worldchain, Unichain Sepolia
- Fast & Standard Modes: Choose your transfer speed
- AI-Friendly: Simple tool calls for complex cross-chain operations
⛽ Gasless USDC Transactions (Circle Paymaster)
- Pay Gas with USDC: No ETH required for transactions
- Two Versions Available:
- v0.8 (Recommended): EIP-7702 Smart Accounts, 7 testnets
- v0.7 (Legacy): Circle Smart Accounts, Arbitrum Sepolia only
- Perfect UX: Recipients receive USDC without paying gas fees
- Account Abstraction: Modern wallet infrastructure built-in
🚀 Quick Start
Claude Desktop Configuration
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json
):
{
"mcpServers": {
"circle-cctp": {
"command": "npx",
"args": ["-y", "circle-cctp-mcp-server"],
"env": {
"PRIVATE_KEY": "0x..."
}
}
}
}
🛠 Circle CCTP Tools
Core Cross-Chain Transfer Tools
cctp_cross_chain_transfer
Transfer USDC between chains using Circle's native protocol
{
"name": "cctp_cross_chain_transfer",
"arguments": {
"fromChainId": 11155111,
"toChainId": 84532,
"recipientAddress": "0x742d35Cc6654B3B5B2F214fB3E6dC8b5b1234567",
"amount": "25.0",
"transferType": "fast"
}
}
Parameters:
fromChainId
: Source chain ID
toChainId
: Destination chain ID
amount
: USDC amount (e.g., "10.5")
recipientAddress
: Destination address
transferType
: "fast" or "standard" (optional)
get_usdc_balance_cctp
Check USDC balance on any supported chain
{
"name": "get_usdc_balance_cctp",
"arguments": {
"chainId": 421614,
"address": "0x742d35Cc6654B3B5B2F214fB3E6dC8b5b1234567"
}
}
get_supported_chains_cctp
Get all chains supported by Circle CCTP
Returns list of 8 supported testnets with chain IDs and domain mappings.
get_domain_mappings_cctp
Get Circle domain mappings for CCTP protocol
⛽ Circle Paymaster Tools
Circle Paymaster enables gasless USDC transactions where users pay gas fees in USDC instead of native tokens (ETH). Two versions are available with different capabilities:
🆕 Circle Paymaster v0.8 (Recommended)
EIP-7702 Smart Accounts - The Future of Gasless Transactions
Key Features:
- ✅ EIP-7702 Technology: Your EOA gets smart contract capabilities
- ✅ Same Address: Smart Account uses your existing EOA address
- ✅ 7 Testnets Supported: Multi-chain gasless transactions
- ✅ Better Performance: Optimized gas usage and faster execution
- ✅ Future-Proof: Latest Circle technology
Supported Networks (v0.8):
Arbitrum Sepolia | 421614 | ✅ |
Base Sepolia | 84532 | ✅ |
Ethereum Sepolia | 11155111 | ✅ |
Avalanche Fuji | 43113 | ✅ |
Optimism Sepolia | 11155420 | ✅ |
Polygon Amoy | 80002 | ✅ |
Unichain Sepolia | 1301 | ✅ |
🔒 Circle Paymaster v0.7 (Legacy)
Circle Smart Accounts - Original Implementation
Key Features:
- ⚠️ Circle Smart Account: Separate smart contract wallet
- ⚠️ Different Address: Smart Account has different address than EOA
- ⚠️ Single Chain: Only Arbitrum Sepolia supported
- ⚠️ Legacy Technology: Older Circle implementation
- ⚠️ Complex Setup: Requires EIP-4337 bundler integration
Supported Networks (v0.7):
Arbitrum Sepolia | 421614 | ⚠️ Legacy Only |
Gasless Transaction Tools
paymaster_get_account_address
Get your Circle Smart Account address for funding
{
"name": "paymaster_get_account_address",
"arguments": {
"chainId": 84532,
"version": "v0.8"
}
}
{
"name": "paymaster_get_account_address",
"arguments": {
"chainId": 421614,
"version": "v0.7"
}
}
What it returns:
- Smart Account address
- Current USDC balance
- Funding instructions
- Account type (EIP-7702 vs Circle Smart Account)
paymaster_check_balance
Check USDC balance in your Smart Account
{
"name": "paymaster_check_balance",
"arguments": {
"chainId": 84532,
"version": "v0.8"
}
}
{
"name": "paymaster_check_balance",
"arguments": {
"chainId": 421614,
"version": "v0.7"
}
}
paymaster_send_usdc
Send gasless USDC transfers (recipient pays zero gas)
{
"name": "paymaster_send_usdc",
"arguments": {
"chainId": 84532,
"recipientAddress": "0x8879318091671ba1274e751f8cDEF76bb37eb3eD",
"amount": "5.0",
"version": "v0.8"
}
}
{
"name": "paymaster_send_usdc",
"arguments": {
"chainId": 421614,
"recipientAddress": "0x8879318091671ba1274e751f8cDEF76bb37eb3eD",
"amount": "5.0",
"version": "v0.7"
}
}
v0.8 Flow (Recommended):
- User pays gas in USDC (not ETH)
- Uses EIP-7702 to add smart contract functionality to EOA
- Recipient receives USDC without paying any gas
- Perfect onboarding experience across 7 chains
v0.7 Flow (Legacy):
- User signs EIP-2612 permit for paymaster to spend USDC
- Creates EIP-4337 User Operation via bundler
- Paymaster pays gas in ETH, deducts equivalent USDC
- Only works on Arbitrum Sepolia
paymaster_get_supported_chains
Get chains supported by Circle Paymaster
{
"name": "paymaster_get_supported_chains",
"arguments": {
"version": "v0.8"
}
}
{
"name": "paymaster_get_supported_chains",
"arguments": {
"version": "v0.7"
}
}
🌐 Supported Networks
CCTP v2 Cross-Chain Transfers
Ethereum Sepolia | 11155111 | 0 | 0x1c7d4b196cb0c7b01d743fbc6116a902379c7238 | ✅ |
Avalanche Fuji | 43113 | 1 | 0x5425890298aed601595a70AB815c96711a31Bc65 | ✅ |
Arbitrum Sepolia | 421614 | 3 | 0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d | ✅ |
Base Sepolia | 84532 | 6 | 0x036CbD53842c5426634e7929541eC2318f3dCF7e | ✅ |
Linea Sepolia | 59144 | 11 | 0xFEce4462D57bD51A6A552365A011b95f0E16d9B7 | ✅ |
Sonic Blaze | 161 | 13 | 0xA4879Fed32Ecbef99399e5cbC247E533421C4eC6 | ✅ |
Worldchain Sepolia | 1666700000 | 14 | 0x66145f38cBAC35Ca6F1Dfb4914dF98F1614aeA88 | ✅ |
Unichain Sepolia | 1301 | 10 | 0x31d0220469e10c4E71834a79b1f276d740d3768F | ✅ |
Circle Paymaster v0.8 (EIP-7702 Smart Accounts) - RECOMMENDED
Arbitrum Sepolia | 421614 | 0x3BA9A96eE3eFf3A69E2B18886AcF52027EFF8966 | EIP-7702 | ✅ |
Base Sepolia | 84532 | 0x3BA9A96eE3eFf3A69E2B18886AcF52027EFF8966 | EIP-7702 | ✅ |
Ethereum Sepolia | 11155111 | 0x3BA9A96eE3eFf3A69E2B18886AcF52027EFF8966 | EIP-7702 | ✅ |
Avalanche Fuji | 43113 | 0x3BA9A96eE3eFf3A69E2B18886AcF52027EFF8966 | EIP-7702 | ✅ |
Optimism Sepolia | 11155420 | 0x3BA9A96eE3eFf3A69E2B18886AcF52027EFF8966 | EIP-7702 | ✅ |
Polygon Amoy | 80002 | 0x3BA9A96eE3eFf3A69E2B18886AcF52027EFF8966 | EIP-7702 | ✅ |
Unichain Sepolia | 1301 | 0x3BA9A96eE3eFf3A69E2B18886AcF52027EFF8966 | EIP-7702 | ✅ |
Circle Paymaster v0.7 (Circle Smart Accounts) - LEGACY
Arbitrum Sepolia | 421614 | 0x31BE08D380A21fc740883c0BC434FcFc88740b58 | Circle Smart Account | ⚠️ Legacy |
💬 Natural Language Usage
In Claude Desktop
"Transfer 10 USDC from Ethereum Sepolia to Base Sepolia"
"Send 5 USDC gaslessly to 0x123... on Base Sepolia using Circle Paymaster v0.8"
"Send 3 USDC gaslessly to 0x123... on Arbitrum Sepolia using Circle Paymaster v0.7"
"What's my USDC balance on all chains?"
"Get my Circle Smart Account address for Base Sepolia (v0.8)"
"Get my Circle Smart Account address for Arbitrum Sepolia (v0.7)"
"Check if I can send gasless transactions on Base Sepolia"
🔄 How Circle CCTP Works
Circle's Cross-Chain Transfer Protocol enables native USDC transfers without bridges:
Source Chain Circle API Destination Chain
| | |
[Burn USDC] ---------> [Attestation] ---------> [Mint USDC]
| | |
TokenMessenger Iris API MessageTransmitter
Process:
- Burn: USDC burned on source chain via Token Messenger
- Attest: Circle's attestation service signs the burn message
- Mint: Native USDC minted on destination chain
Benefits:
- ✅ Real USDC (not wrapped)
- ✅ 2-5 minute transfers
- ✅ Lower fees than bridges
- ✅ Circle's audited contracts
⛽ How Circle Paymaster Works
Circle Paymaster v0.8 (EIP-7702) - RECOMMENDED
User EOA Circle Paymaster v0.8 Blockchain
| | |
[Add EIP-7702] ----------> [Enable Smart] --------> [Same Address]
| | |
[Send USDC] ------------> [Pay Gas in ETH] --------> [Execute Transaction]
| | |
[Pay 0 ETH] <------------- [Deduct USDC] <---------- [Transaction Success]
v0.8 Process:
- EIP-7702: Temporarily adds smart contract functionality to EOA
- Same Address: Uses your existing EOA address (no new account needed)
- Multi-Chain: Works across 7 different testnets
- Gas Payment: Paymaster pays ETH gas, deducts equivalent USDC
Circle Paymaster v0.7 (EIP-4337) - LEGACY
User Wallet Circle Paymaster v0.7 Blockchain
| | |
[Sign Permit] ----------> [Receive USDC] --------> [Pay Gas in ETH]
| | |
[Send UserOp] ----------> [Bundle & Submit] -----> [Execute Transaction]
| | |
[Pay 0 ETH] <------------- [Deduct USDC] <--------- [Transaction Success]
v0.7 Process:
- EIP-2612 Permit: User signs permit for paymaster to spend USDC
- User Operation: Transaction bundled with paymaster data via EIP-4337
- Bundler: Uses external bundler service (Pimlico) for execution
- Gas Payment: Paymaster pays ETH gas, deducts equivalent USDC
🚀 Getting Started
1. Fund Your Account
For CCTP transfers:
For Circle Paymaster v0.8 (Recommended):
"Get my Circle Smart Account address for Base Sepolia using v0.8"
For Circle Paymaster v0.7 (Legacy):
"Get my Circle Smart Account address for Arbitrum Sepolia using v0.7"
2. Start Transferring
"Send 10 USDC from Base to Arbitrum"
"Send 5 USDC gaslessly to 0x123... on Base using v0.8 paymaster"
"Send 5 USDC gaslessly to 0x123... on Arbitrum using v0.7 paymaster"
🔍 Paymaster Version Comparison
Technology | EIP-7702 Smart Accounts | Circle Smart Account + EIP-4337 |
Account Address | ✅ Same as EOA | ❌ Different from EOA |
Supported Chains | ✅ 7 testnets | ❌ 1 testnet (Arbitrum Sepolia) |
Performance | ✅ Optimized gas usage | ⚠️ Higher gas costs |
Setup Complexity | ✅ Simple | ⚠️ Complex (bundler required) |
Future Support | ✅ Active development | ⚠️ Legacy/maintenance mode |
Recommended Use | ✅ All new projects | ⚠️ Legacy support only |
💡 Best Practices
- Use v0.8 Paymaster: Better performance, more chains, and future-proof
- Use v0.7 Only When: You specifically need legacy compatibility
- Fund Correct Address:
- v0.8: Fund your EOA address directly
- v0.7: Fund the separate Smart Account address
- Check Version Support: Ensure the chain supports your chosen paymaster version
- Test First: Use testnets to familiarize yourself with the tools
🛡️ Security
- Private keys stored locally in
.env
files
- All transactions signed locally using viem
- Circle's audited smart contracts
- Testnet environments for safe experimentation
🔗 Resources
📝 License
MIT License - see LICENSE file for details.