The CCIP Chains API provides information about supported chains in the Cross-Chain Interoperability Protocol (CCIP). This API allows you to query chain details, 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.link
http://localhost:4321
(for local testing) or https://docs.chain.link
(for production)Now you can start making requests to test the API endpoints!
# 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"
Query CCIP chain information.
Query Parameters:
environment
(required): Network environment
mainnet
, testnet
chainId
(optional): Filter by chain ID
1
(Ethereum)1,56
(Ethereum and BSC)selector
(optional): Filter by CCIP chain selector
5009297550715157269
5009297550715157269,13264668187771770619
internalId
(optional): Filter by internal chain identifier
ethereum-mainnet
ethereum-mainnet,bsc-mainnet
outputKey
(optional): Key to use for response organization
chainId
, selector
, internalId
chainId
Response 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
}
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
}