Skip to main content
Version: 1.15.0

Cross-Chain Tokens (CCT)

Cross-Chain Tokens (CCT) let a token administrator configure a token pool and its remote chains so the token can move across chains through CCIP. The SDK exposes one manager per chain family rather than a single cross-family API:

Chain familyManagerImport
EVMEVMTokenManager@chainlink/ccip-sdk/cct/evm
SolanaSolanaTokenManager@chainlink/ccip-sdk/cct/solana
CantonCantonTokenManager@chainlink/ccip-sdk/cct/canton

Pick your path by what you need to do:

Choose an execution mode​

Every write operation comes in two forms, so you can sign directly or hand off to an external signer:

  • generateUnsigned<Operation> builds an unsigned transaction or instruction set for multisig, offline, or external signing workflows.
  • <operation> signs and submits with the chain-family wallet you supply.

Choose the unsigned form when the account that owns the token, registry, or token pool is a multisig. The signed form validates the wallet and waits for the submitted transaction to confirm.

Typical setup flow​

Every chain family follows roughly the same arc:

  1. Create or identify the local token.
  2. Register the token administrator (registerAdmin, then acceptAdmin) where required.
  3. Deploy or initialize the token pool, then associate it in the TokenAdminRegistry (setPool). On Solana, setPool comes last, because it needs a populated address lookup table and so follows the remote-chain configuration.
  4. Configure each remote chain's token, pool, rate limit, and any allowlist or verifier requirements.
  5. Fund a lock/release pool before sending transfers.
  6. Read back the pool and registry state to verify the final configuration.

The exact sequence and required parameters differ by chain family, so follow the platform guide rather than copying parameters between chains.

Platform guides​

  • EVM: ERC-20 token, TokenAdminRegistry, v2 pool, lockbox, and remote-chain operations.
  • Solana: SPL mint, canonical pool programs, PDAs, lookup tables, and remote-chain operations.
  • Canton: registry-pool deployment, atomic lane initialization, and Canton read operations.
warning

Pool administration changes what can be transferred cross-chain. Test with the target pool type, token authority, router, and remote-chain configuration before using a production token.