Overview
This guide will walk you through executing a complete cross-chain USDC transfer using the CCTP Go SDK. You’ll learn how to:- Poll for attestations from Circle’s Iris service
- Query available chains and their configurations
- Execute a full transfer workflow programmatically
Make sure you’ve installed the SDK before proceeding.
Basic attestation polling
The simplest use case is polling for an attestation after a burn transaction:The Iris API returns attestations from Circle’s attestation service. The polling will continue until the attestation is available or the context is cancelled.
Working with chains
Get information about supported chains:Overriding RPC endpoints
The library provides default RPC endpoints, but you can override them with custom endpoints:Available chain constants:Mainnet:
cctp.Ethereum, cctp.Avalanche, cctp.OPMainnet, cctp.Arbitrum, cctp.Base, cctp.PolygonPoS, cctp.Unichain, cctp.Linea, cctp.Codex, cctp.Sonic, cctp.WorldChain, cctp.Sei, cctp.XDC, cctp.HyperEVM, cctp.Ink, cctp.PlumeTestnet: cctp.EthereumSepolia, cctp.AvalancheFuji, cctp.OPSepolia, cctp.ArbitrumSepolia, cctp.BaseSepolia, cctp.PolygonPoSAmoy, cctp.LineaSepolia, cctp.ArcTestnet, cctp.UnichainSepolia, cctp.CodexTestnet, cctp.SonicTestnet, cctp.WorldChainSepolia, cctp.SeiTestnet, cctp.XDCApothem, cctp.HyperEVMTestnet, cctp.InkTestnet, cctp.PlumeTestnetContract interactions
Interact with USDC and CCTP contracts using V2 bindings:The SDK uses Go Ethereum V2 Contract Bindings for type-safe contract interactions.
Full transfer example
For a complete example of orchestrating a full CCTP transfer with approval, burn, attestation polling, and mint, see the transfer orchestrator in your application. TheTransferOrchestrator handles the entire workflow:
See the CLI implementation for a complete working example of the full transfer workflow.
Transfer types
The SDK supports two transfer types:Next steps
SDK overview
Explore all SDK features and APIs
CLI usage
Learn how to use the CLI tool
Transfer orchestration
Deep dive into the transfer workflow
Chain configuration
Learn about chain configurations and constants