Skip to main content
Version: 1.16.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. Deploy a new token, or use an existing token on the local chain.
  2. Register the token administrator (registerAdmin, then acceptAdmin) where required.
  3. Deploy or initialize the token pool.
  4. Configure each remote chain's token, pool, rate limit, and any allowlist or verifier requirements.
  5. Associate the pool in the TokenAdminRegistry (setPool). This comes after the remote-chain configuration on every chain family; on Solana it also needs a populated address lookup table.
  6. Fund a lock/release pool before sending transfers.
  7. 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 guide for your chain family rather than copying parameters between chains.

Guides by chain family​

  • 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.