Unified crosschain USDC balance via Circle Gateway + Circle Programmable Wallets. Deposit USDC on any supported chain, check your unified balance, and instantly mint USDC on any destination chain in <500ms — no bridging, no raw private keys.
Circle Gateway gives you a single unified USDC balance that is instantly accessible on any supported chain in under 500 milliseconds. Instead of holding separate USDC balances on Ethereum, Base, Avalanche, etc., you deposit USDC into Gateway on any chain and can mint it out on any other chain — instantly.
This is fundamentally different from bridging. There are no liquidity pools, no bridge operators, no 15-minute waits. Gateway uses a deposit → sign burn intent → receive attestation → mint flow that executes in <500ms.
| Chain | Domain ID | USDC Address |
|---|---|---|
| Ethereum Sepolia | 0 | 0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238 |
| Base Sepolia | 6 |
0x036CbD53842c5426634e7929541eC2318f3dCF7e| Arc Testnet | 26 | 0x3600000000000000000000000000000000000000 |
Note: Arc is Circle's purpose-built L1 blockchain where USDC is the native gas token. No separate gas token needed — USDC covers everything. Arc has the fastest Gateway finality at ~0.5 seconds.
Gateway Contracts (same address on all EVM chains):
0x0077777d7EBA4688BDeF3E311b846F25870A19B90x0022222ABE238Cc2C7Bb1f21003F0a260052475BGateway API (testnet): https://gateway-api-testnet.circle.com/v1
circle-wallet skill installed (clawhub install eltontay/circle-wallet) with a wallet set containing wallets on ETH-SEPOLIA, BASE-SEPOLIA, and ARC-TESTNETviem, dotenv, and @circle-fin/developer-controlled-wallets packagesRun the setup script to initialize the project with all dependencies:
cd /path/to/nexwave-gateway && bash setup.sh
This creates a gateway-app/ directory with all necessary files pre-configured.
cd gateway-app && node check-balance.js
This queries the Gateway API for supported chains and shows your unified USDC balance across all chains.
node deposit.js
This deposits USDC into the Gateway Wallet contract on Ethereum Sepolia and Arc Testnet. After deposit and chain finality, your unified balance is credited. Arc finalizes in ~0.5 seconds; Ethereum may take up to 20 minutes.
node transfer.js
This creates burn intents, signs them via Circle Programmable Wallets (MPC — no raw private keys), submits them to the Gateway API for attestation, and mints USDC on Base Sepolia. The attestation response typically arrives in <500ms.
Unified Balance: After depositing USDC into Gateway on any chain, the Gateway system credits your address with a unified balance. This balance is not locked to any specific chain — it can be accessed on any supported chain.
Burn Intent: To withdraw from your unified balance to a specific chain, you sign a "burn intent" — an EIP-712 typed data structure specifying the source chain, destination chain, amount, and recipient. Signing is done securely via Circle's MPC Programmable Wallets (no raw private keys). Gateway verifies your balance is sufficient and returns a signed attestation.
Circle Programmable Wallets: Instead of raw private keys in .env files, this skill uses Circle's developer-controlled wallets backed by multi-party computation (MPC). The private key is never exposed — signing happens server-side via Circle's API. This makes the skill safe for agent use without risk of key exfiltration.
Attestation: The Gateway API's signed proof that authorizes minting on the destination chain. You submit this attestation to the Gateway Minter contract on the destination chain to receive USDC.
Fees: 0.5 basis points (0.005%) during the early access period (through June 30, 2026). Plus base gas fees for on-chain transactions.
Agent deposits USDC on Chain A
│
▼
Gateway Wallet Contract (approve + deposit)
│
▼
Wait for chain finality → Unified balance credited
│
▼
Agent signs burn intent (EIP-712 via Circle MPC Wallets)
│
▼
Submit to Gateway API ──► Attestation returned (<500ms)
│
▼
Submit attestation to Gateway Minter on Chain B
│
▼
USDC minted on Chain B for recipient