Chainlink CCIP: High-Level Overview
I know I’m publishing this article about a week and a half late but here it is: Interop/Acc #1, Chainlink CCIP overview.
The reason for me being late is I got caught up in a hackathon project and learning how Axiom uses the Hyperliquid builder program (I will write a piece on both but let’s continue with the first article of this series).
Chainlink CCIP (Cross-Chain Interoperability Protocol) is an interoperability protocol that allows users to send tokens and data from one chain to another without any centralized entities. It uses the Chainlink DON (Decentralized Oracle Network) as a foundation for all of its operations.
CCIP Architecture
The above image shows different components and data/token movements when a CCIP call is made. Main components of CCIP are:
- onRamp
- offRamp
- DONs (Committing & Executing)
- RMN
- Router
But for our purposes, we only need to understand how these components interact with each other, so we won’t be going deep into them.
Get Nikhil’s stories in your inbox
Join Medium for free to get updates from this writer.
The cross-chain token/data transfer with CCIP looks like the following:
- End user calls a smart contract function that calls the Router contract with the data/token it wants to send
- The Router contract calls the onRamp contract on the source chain. From this point onwards, all the interaction is CCIP’s internal process
- Once the DON and RMN process the cross-chain message, the Executing DON calls the offRamp, which handles executing data on the destination chain’s contract and/or token interaction (like mint/unlock)
At the end of this process, end users should have executed a function call on the destination chain or transferred tokens based on the initial input.
This was a gist of what CCIP is and how it works. For more in-depth reading of each component, go to the Chainlink docs:
- Typical Lifecycle of a Message: https://docs.chain.link/ccip/concepts/architecture/onchain/evm/overview#typical-lifecycle-of-a-message
- CCIP Components (EVM): https://docs.chain.link/ccip/concepts/architecture/onchain/evm/components#overview








