Getting Started (Canton)
Connect a Canton party to CCIP and run a cross-chain workflow on testnet.
In this guide, you will:
- Learn Canton-specific concepts CCIP relies on (Key Concepts)
- Choose the right tooling (
ccip-starter-kit-cantontutorials vsccip-tools-tsSDK/CLI for production) - Complete prerequisites and run your first Canton ↔ Sepolia tutorial (send or receive, including manual execution when Canton is the destination)
Who this is for
Institution and enterprise engineers who need to:
- Bridge CIP-56 instruments or Registry-issued tokens across CCIP lanes
- Send arbitrary data or programmable token transfers to or from Canton
- Operate token pool and EDS infrastructure for their instruments
No permission from Chainlink is required for your party to send on a configured lane — you need participant access, disclosures, and fee-token holdings.
What you can build
| Goal | Start here |
|---|---|
| First testnet send or receive (Canton ↔ Sepolia) | Canton as Source or Canton as Destination |
| Deploy a token pool and register on TAR | Cross-Chain Token (CCT) |
| Issue a Registry token end to end | Registry Issuer Guide |
| Understand send/execute flows | Overview |
| Operate pool EDS | Explicit Disclosure API |
Tooling
| Tool | Role |
|---|---|
@chainlink/ccip-sdk / ccip-cli | Production library and CLI — disclosures, fees, send, execute, proofs |
ccip-starter-kit-canton | Testnet tutorial scripts (canton2any:*, any2canton:*, cct:*) pre-configured for Canton CCIP testnet ↔ Sepolia |
The starter kit uses the same SDK and ledger submit model as ccip-cli with canton-config.json. Use the starter kit to learn; use the SDK or CLI directly for your own applications.
Fees (summary)
- Sending from Canton: CCIP fees are paid on-ledger in Amulet by default, or LINK with
--feeToken link. See Key Concepts — Fees. - Sending to Canton: Fees are paid on the source chain (Sepolia ETH or LINK in the starter kit).
Fund your party before running tutorials — npm run check-balance in the starter kit.
Quick start (testnet tutorial)
- Read Key Concepts (parties, privacy, manual execution, fees).
- Clone and configure the starter kit (
party, ledger URL, validator user,transferInstructionUrl). - Pick a direction and tutorial:
- Canton → Sepolia: Arbitrary Messaging, Token Transfers, or Programmable Token Transfers
- Sepolia → Canton: Arbitrary Messaging, Token Transfers, or Programmable Token Transfers — each ends with
any2canton:manual-exec
Before you begin
Coordinate with Chainlink CCIP operations for:
- CCIP owner party ID and hosted contract addresses (Token Admin Registry, FeeQuoter, RMNRemote)
- Remote chain selectors and lane configuration for your target networks
- CCIP DAR packages on your participant (typically provisioned by ops)