The Cross-Chain Interoperability Protocol (CCIP) API provides comprehensive information about supported blockchain networks, tokens, and their configurations across multiple blockchain families including EVM, Solana, and Aptos.
This documentation provides details about:
Use the interactive documentation below to explore and test the API endpoints.
curl -X GET "https://docs.chain.link/api/ccip/v1/chains?environment=mainnet" \
-H "accept: application/json"
curl -X GET "https://docs.chain.link/api/ccip/v1/chains?environment=mainnet&chainId=1,137" \
-H "accept: application/json"
curl -X GET "https://docs.chain.link/api/ccip/v1/chains?environment=testnet&chainId=11155111,solana-devnet" \
-H "accept: application/json"
// Example 1: Fetch CCIP Chains
const fetchCcipChains = async () => {
try {
const response = await fetch(
'https://docs.chain.link/api/ccip/v1/chains?environment=mainnet'
);
const data = await response.json();
console.log('Chain data:', data);
// Access EVM chains
const evmChains = data.data.evm;
console.log('EVM chains:', evmChains);
// Access Solana VM chains (if available)
const solanaChains = data.data.svm || {};
console.log('Solana chains:', solanaChains);
// Access Move VM chains (if available)
const mvmChains = data.data.mvm || {};
console.log('Aptos chains:', mvmChains);
return data;
} catch (err) {
console.error('Error fetching CCIP chains:', err);
}
}
// Example 2: Fetch CCIP Tokens
const fetchCcipTokens = async () => {
try {
const response = await fetch(
'https://docs.chain.link/api/ccip/v1/tokens?environment=mainnet&token_id=LINK'
);
const data = await response.json();
console.log('Token data:', data);
return data;
} catch (err) {
console.error('Error fetching CCIP tokens:', err);
}
}
// Example 3: Fetch Specific Chain Types
const fetchSolanaChains = async () => {
try {
const response = await fetch(
'https://docs.chain.link/api/ccip/v1/chains?environment=testnet'
);
const data = await response.json();
// Extract just the Solana chains
const solanaChains = data.data.svm || {};
console.log('Solana chains:', solanaChains);
return solanaChains;
} catch (err) {
console.error('Error fetching Solana chains:', err);
}
}