CCIP v2.0.0 ITokenAdminRegistry API Reference

ITokenAdminRegistry defines the interface for managing token-to-pool mappings and per-token administrative authority.

If you use this interface, it acts as the source of truth for:

  • which pool is associated with a given token
  • which address is authorized to manage that token’s CCIP configuration

This interface defines functions implemented by protocol contracts and is not typically used directly by applications.

Usage Boundary

You typically do not use this interface directly.

  • CCIP infrastructure queries this registry to resolve token-to-pool mappings.
  • Token administrators interact with this registry to manage configuration.
  • You interact with this interface when assigning or updating pools and administrators for a token.
  • You are responsible for ensuring correct admin assignment and pool configuration.

Contract

interfaces/ITokenAdminRegistry.sol

Import

import {ITokenAdminRegistry} from "chainlink-ccip/interfaces/ITokenAdminRegistry.sol";

If you have not installed the package:

npm install @chainlink/contracts-ccip@2.0.0

External API

getPool

function getPool(address token) external view returns (address)

Returns the pool associated with a given token.

ParameterTypeDescription
tokenaddressToken address to query.

Returns:

TypeDescription
addressPool responsible for handling the token.
  • If no pool is configured for a token, the returned address may be zero.

proposeAdministrator

function proposeAdministrator(address localToken, address administrator) external

Proposes a new administrator for a token. Must be called by an authorized entity (typically the current administrator).

ParameterTypeDescription
localTokenaddressToken being configured.
administratoraddressProposed administrator address.

acceptAdminRole

function acceptAdminRole(address localToken) external

Accepts the administrator role for a token. Can only be called by the proposed administrator.

ParameterTypeDescription
localTokenaddressToken being administered.

setPool

function setPool(address localToken, address pool) external

Sets or updates the pool responsible for handling a token. Can only be called by the token’s administrator.

ParameterTypeDescription
localTokenaddressToken being configured.
pooladdressPool contract for the token.

transferAdminRole

function transferAdminRole(address localToken, address newAdmin) external

Transfers the administrator role to a new address. Can only be called by the current administrator.

ParameterTypeDescription
localTokenaddressToken being configured.
newAdminaddressNew administrator address.

Notes

  • Administrator assignment follows a two-step process: propose → accept.
  • Each token has a single active administrator at any time.
  • This registry defines the source of truth for token-to-pool mappings.
  • CCIP routing depends on correct token-to-pool mappings defined in this registry.
  • Only authorized administrators should modify token configuration.
  • Pool configuration should be updated before initiating transfers that depend on the new mapping.
  • Incorrect pool assignment may route tokens to invalid or incompatible pools.
  • Incorrect administrator assignment may grant control to unintended parties.

Get the latest Chainlink content straight to your inbox.