The CCIP API provides information about supported chains and tokens in the Cross-Chain Interoperability Protocol (CCIP). This API allows you to query chain details, token information, supported fee tokens, and contract addresses needed for cross-chain operations.
We provide a complete Postman Collection that you can import to quickly test all API endpoints. The collection includes:
To import the collection into Postman:
Before making requests:
baseUrl with:
https://docs.chain.linkhttp://localhost:4321 (for local testing) or https://docs.chain.link (for production)Now you can start making requests to test the API endpoints!
# Chains API
# Get all mainnet chains
curl "https://docs.chain.link/api/ccip/v1/chains?environment=mainnet"
# Get Ethereum mainnet
curl "https://docs.chain.link/api/ccip/v1/chains?environment=mainnet&chainId=1"
# Get multiple chains by chainId
curl "https://docs.chain.link/api/ccip/v1/chains?environment=mainnet&chainId=1,56"
# Get multiple chains by internalId
curl "https://docs.chain.link/api/ccip/v1/chains?environment=mainnet&internalId=ethereum-mainnet,bsc-mainnet"
# Tokens API
# Get all mainnet tokens
curl "https://docs.chain.link/api/ccip/v1/tokens?environment=mainnet"
# Get tokens by symbol
curl "https://docs.chain.link/api/ccip/v1/tokens?environment=mainnet&symbol=LINK"
# Get tokens available on a specific chain
curl "https://docs.chain.link/api/ccip/v1/tokens?environment=mainnet&chainId=1"
Query CCIP chain information.
Query Parameters:
environment (required): Network environment
mainnet, testnetchainId (optional): Filter by chain ID
1 (Ethereum)1,56 (Ethereum and BSC)selector (optional): Filter by CCIP chain selector
50092975507151572695009297550715157269,13264668187771770619internalId (optional): Filter by internal chain identifier
ethereum-mainnetethereum-mainnet,bsc-mainnetoutputKey (optional): Key to use for response organization
chainId, selector, internalIdchainIdResponse Format:
interface ChainApiResponse {
metadata: {
environment: string
timestamp: string
requestId: string
ignoredChainCount: number
validChainCount: number
}
data: {
evm: Record<string, ChainDetails>
}
ignored: ChainConfigError[]
}
interface ChainDetails {
chainId: number
displayName: string
selector: string
internalId: string
feeTokens: string[]
router: string
rmn: string
registryModule: string
tokenAdminRegistry: string
}
Query CCIP token information.
Query Parameters:
environment (required): Network environment
mainnet, testnetsymbol (optional): Filter by token symbol
LINK (Chainlink)LINK,ETH (Chainlink and Ethereum)chainId (optional): Filter by chain ID where the token is available
1 (Ethereum)1,56 (Ethereum and BSC)outputKey (optional): Key to use for response organization
chainId, selector, internalIdchainIdResponse Format:
interface TokenApiResponse {
metadata: {
environment: string
timestamp: string
requestId: string
ignoredTokenCount: number
validTokenCount: number
}
data: Record<string, TokenDetails>
ignored: TokenConfigError[]
}
interface TokenDetails {
symbol: string
lanes: Record<string, string[]> // Source chain -> destination chains
chains: TokenChainInfo[]
}
interface TokenChainInfo {
chainId: number
chainName: string
tokenAddress: string
decimals: number
poolType: string
poolAddress: string
}
The API uses standard HTTP status codes:
200: Success400: Invalid request (e.g., invalid parameters)500: Server errorError responses follow this format:
interface ErrorResponse {
error: string
message: string
}