use-gateway

Integrate Circle Gateway for unified USDC balances and crosschain transfers across EVM chains and Solana.

1|Updated Sep 4, 2025
One-click install
npx skills add https://github.com/FuzzysTodd/The-Nexus-Protocol-Token-DAO --skill use-gateway-fuzzystodd
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: use-gateway
Source: https://github.com/FuzzysTodd/The-Nexus-Protocol-Token-DAO/tree/main/skills/use-gateway
Command: npx skills add https://github.com/FuzzysTodd/The-Nexus-Protocol-Token-DAO --skill use-gateway-fuzzystodd

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires viem, @circle-fin/developer-controlled-wallets, @solana/spl-token, and includes references (resource) components.

What problem does it solve? Moving USDC between blockchains normally requires waiting for source-chain finality and managing separate balances per chain. This Skill guides developers through Circle Gateway integration so users can hold one unified USDC balance across 11 EVM chains plus Solana and execute sub-second crosschain transfers via deposit, burn, and mint workflows. ## Core Features & Use Cases - Unified Balance Management: Deposit USDC into Gateway Wallet contracts on any supported chain and query consolidated balances through the Gateway REST API. - Instant Crosschain Transfers: Create and sign burn intents (EIP-712 for EVM, Ed25519 for Solana), submit them to the Gateway API for attestation, and mint on the destination chain with gatewayMint. - Scenario-Based References: Route to the correct implementation reference based on wallet model (self-managed, browser wallet, or Circle Developer-Controlled Wallets) and source/destination network family. - Use Case: A payments app pools user USDC deposits on Base and Arbitrum, then lets users spend from that combined balance on Polygon without bridging delays. ## Quick Start Ask the assistant to implement a Circle Gateway transfer of USDC from Ethereum Sepolia to Base Sepolia using a self-managed wallet, and it will load the matching reference and walk through deposit, burn intent signing, attestation, and minting.

Frequently Asked Questions about use-gateway

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I transfer USDC across chains with Circle Gateway?▼

Deposit USDC into a Gateway Wallet contract, create and sign a burn intent specifying source and destination domains, submit it to the Gateway API for an attestation, then call gatewayMint on the destination chain. Transfers complete in under 500ms without waiting for source-chain finality.

What is the difference between Circle Gateway and CCTP for USDC transfers?▼

Gateway maintains a unified balance across chains and enables instant sub-second transfers, suiting frequent transfers and capital pooling. CCTP via Bridge Kit is better for infrequent point-to-point transfers where maintaining a deposited balance is not worthwhile.

Which blockchains does Circle Gateway support?▼

Gateway supports 11 EVM chains plus Solana on mainnet and testnet, including Ethereum, Arbitrum, Base, Polygon, Optimism, Avalanche, and others, plus Arc testnet. Each chain has a numeric domain ID used in burn intents.

Can I use Phantom wallet to sign Solana burn intents?▼

No. Only Solflare currently supports signing the arbitrary messages required for Gateway burn intents on Solana. Phantom and most other Solana wallets reject the signing request, so plan wallet compatibility accordingly.

Why must the Solana destination recipient be a token account?▼

The destinationRecipient on Solana must be a USDC token account (ATA or SPL Token Account), not a raw wallet address. Deriving an ATA from an address that is itself a token account causes permanent fund loss, so verify with getAccount() first.

What signing format does Circle Gateway use for burn intents?▼

EVM burn intents use EIP-712 typed data signatures, while Solana burn intents use Ed25519 signatures over a payload prefixed with 16 bytes (0xff plus 15 zero bytes). The type definitions and payloads must be used exactly as specified or signatures will be invalid.