Cross-Chain Token Standard - Integration Guide (SVM)

This integration guide helps you determine the optimal path for integrating your SPL token with Chainlink CCIP on SVM-based blockchains like Solana. Follow the decision tree below to understand your specific requirements, deployment options, and when you can use self-service versus when you need Chainlink assistance.

Prerequisites

Before starting integration, ensure you meet these requirements:

  • Token Compatibility: Your token must meet compatibility requirements

  • Decimal Planning: Plan decimal configuration across all target blockchains

  • Pool Type Selection: Choose the appropriate token pool type for your use case:

    • BurnMint Pools: Burn tokens on source, mint on destination. Requires transferring mint authority to pool. Best for tokens designed to have variable supply across chains.

    • LockRelease Pools: Lock tokens on source, release on destination. No mint authority transfer required. Requires liquidity management. Best for retaining mint authority control or capped-supply tokens.

    For detailed comparisons and technical requirements, see Token Handling Mechanisms.

Integration Overview

CCIP Cross-Chain Token (CCT) integration involves two key phases:

  1. Token Registration: Establishing a CCIP token administrator role
  2. Token Pool Deployment: Setting up the pool program that handles cross-chain operations

Your path through these phases depends on your mint authority control and chosen deployment approach.

Decision Flow Diagram

The following diagram visualizes the complete decision process based on your mint authority control:

CCIP Cross-Chain Token integration decision flowchart for SVM chains, showing paths based on mint authority control and deployment approaches

Mint Authority Assessment

The first critical decision point is understanding your mint authority control, as this determines your available options throughout the integration process.

Why mint authority control matters for token registration: The Router's owner_propose_administrator instruction can only be called by the actual mint authority holder. The Router verifies onchain that the signer account matches the token's mint_authority field. If you cannot sign this instruction as the mint authority, the Router cannot verify your authorization onchain, requiring manual governance assistance.

You have direct control when:

  • You hold the mint authority private key directly
  • You control a governance multisig that holds the mint authority (non-SPL token multisig)
  • You can execute mint authority operations through your governance process

You do NOT have direct control when:

  • Mint authority is set to None (supply capped)
  • Mint authority is held by an SPL token multisig
  • Mint authority is controlled by another party you cannot coordinate with
  • You have lost access to the mint authority private key

Integration Paths

Based on your mint authority control, follow the appropriate integration path:

Path A: Full Self-Service (Mint Authority Controlled)

When to use: You have direct control over the mint authority

Registration Process:

Pool Deployment Options:

  1. Self-Serve Mode (Recommended)

    • Use Chainlink-deployed standard pool programs
    • Initialize your pool using initialize instruction
    • Automatic governance-controlled upgrades
    • Lowest operational overhead
  2. Self-Deployed Standard Pools

    • Deploy standard pool programs yourself
    • Control upgrade authority and timing
    • Initialize your own pools
  3. Custom Token Pools

    • Build custom pool logic for specialized requirements
    • Full control over implementation and upgrades

Path B: Assisted Registration + Self-Serve Pools (Mint Authority Not Controlled)

When to use: You want to use self-serve mode pools, but you cannot call owner_propose_administrator as the mint authority

Registration Process:

Pool Deployment:

  • Assisted pool initialization: Submit registration request to have the pool program upgrade authority initialize your pool
  • Self-serve mode benefits: Once initialized, you become the pool owner with full configuration control
  • Governance-controlled upgrades: Benefit from automatic security updates and features

Path C: Full Manual Process (Custom or Self-Deployed)

When to use: You cannot call owner_propose_administrator as the mint authority and want self-deployed or custom pools

Registration Process:

  • Same manual registration process as Path B

Pool Deployment:

  • Deploy your own programs: Full control over pool program deployment
  • Control upgrade authority: Manage your own upgrade process
  • Initialize independently: Use your upgrade authority to initialize pools

Implementation Steps

Once you've determined your path, follow these implementation steps:

Step 1: Complete Registration

Step 2: Deploy and Initialize Token Pool

Choose your deployment approach:

  • Self-serve mode: Initialize pool from existing Chainlink-deployed programs

    • If you can sign as mint authority: Use the initialize instruction directly
    • If you cannot sign as mint authority (mint authority is None, held by SPL token multisig, or controlled by another party): Submit registration request for assisted initialization
  • Self-deployed: Deploy standard pool programs yourself, then initialize pool from your deployed program

  • Custom: Implement and deploy custom pool following technical requirements, then initialize pool from your deployed program

Step 3: Create Associated Token Account

  • Create the Associated Token Account (ATA) for the Pool Signer PDA
  • Required: Pool operations cannot begin without this ATA
  • The ATA will hold tokens for LockRelease pools or serve as the burn account for BurnMint pools

Step 4: Transfer Mint Authority (BurnMint Pools Only)

Choose one of two approaches:

  • Direct Transfer: Transfer mint_authority directly to the Pool Signer PDA (simple, pool-only minting)
  • Multisig Setup (Recommended): Create an SPL token multisig with Pool Signer PDA as one signer (flexible, multiple authorized minters)

See Mint Authority Management for detailed configuration options.

Step 5: Create Address Lookup Table (ALT)

  • Create an ALT containing all required accounts for your pool operations
  • Must include minimum 9 required accounts in specific order
  • See Pool Configuration requirements for account list
  • Call set_pool instruction on the Router
  • Links your pool's ALT to your token in the TokenAdminRegistry
  • Enables CCIP to route cross-chain transfers to your pool

Step 7: Configure Pool Settings

Next Steps

After determining your integration path:

  1. Review Detailed Documentation:

  2. For Assisted Paths: Submit your registration request with detailed information about your token and requirements

  3. For Self-Service Paths: Begin with token registration following the appropriate workflow for your chosen deployment approach

Get the latest Chainlink content straight to your inbox.