Chainlink CCIP Solidity Interfaces & Contracts Reference (EVM)
This section is the Solidity API reference for CCIP on EVM chains. It covers the contracts, interfaces, libraries, events, and errors used when integrating CCIP onchain.
Do I need to change anything for v2?
If you have an existing CCIP v1.x integration: in most cases, no. If you don’t change your configuration, your integration continues to work as before. You only need to engage with v2 features if you want additional control over behavior:
- You want faster-than-finality execution (lower latency by reducing confirmation requirements)
- You need more control over fees or how they are applied
- You are a token issuer configuring pool-level rules (fees, limits, finality)
- You are building advanced integrations involving custom verification or execution
If none of these apply, you can continue using CCIP as before.
Start here
Most integrations start with:
- Router for sending messages and token transfers
- IRouterClient for the application-facing interface
- CCIPReceiver for receiving messages
- FeeQuoter for fee estimation references
If your application transfers tokens, also review the token pool pages.
How this reference is organized
- Core Components for sending and receiving messages
- Token Pools for token transfer mechanisms
- Access & Administration for ownership and token configuration
- Fee & Pricing for fee estimation (FeeQuoter)
- Advanced for execution and verification-related contracts
- Libraries for shared structs and utilities
- Reference Tools for the Events and Errors pages used in debugging and observability
Token Pools
CCIP supports token transfer models based on:
- Lock and release
- Burn and mint
Use the token pool pages to determine which model fits your integration.
Events and Errors
For cross-contract debugging and observability, see: