Chainlink CCIP
Blockchain interoperability protocols are important for the Web3 ecosystem and traditional systems that need to interact with different blockchains. These protocols are the foundation for building blockchain abstraction layers, allowing traditional backends and dApps to interact with any blockchain network through a single middleware solution. Without a blockchain interoperability protocol, Web2 systems and dApps would need to build separate in-house implementations for each cross-chain interaction that they want to use, which is a time-consuming, resource-intensive, and complex process.
Blockchain interoperability protocols provide the following capabilities:
- You can transfer assets and information across multiple blockchains.
- Application developers can leverage the strengths and benefits of different chains.
- Collaboration between developers from diverse blockchain ecosystems enables the building of cross-chain applications to serve more users and provide additional features or products for them.
The Chainlink Cross-Chain Interoperability Protocol (CCIP) provides these capabilities and enables a variety of use cases.
What is Chainlink CCIP?
Chainlink CCIP is a blockchain interoperability protocol that enables developers to build secure applications that can transfer tokens, messages (data), or both tokens and messages across chains.
Given the inherent risks of cross-chain interoperability, CCIP features defense-in-depth security and is powered by Chainlink's industry-standard oracle networks which have a proven track record of securing tens of billions of dollars and enabling over $14 trillion in onchain transaction value.
CCIP provides several key security benefits:
- Multiple independent nodes run by independent key holders.
- Three decentralized networks all executing and verifying every cross-chain transaction.
- Separation of responsibilities, with distinct sets of node operators, and with no nodes shared between the transactional DONs and the Risk Management Network.
- Increased decentralization with two separate code bases across two different implementations, written in two different languages to create a previously unseen diversity of software clients in the cross-chain world.
- Novel risk management system with level-5 security that can be rapidly adapted to any new risks or attacks that appear in cross-chain messaging.
To understand how Chainlink CCIP works, refer to the concepts, architecture, and best practices. If you are new to using Chainlink CCIP, read these guides before you deploy any contracts that use CCIP.
Chainlink CCIP core capabilities
Chainlink CCIP supports three main capabilities:
- Arbitrary Messaging: is the ability to send arbitrary data (encoded as bytes) to a receiving smart contract on a different blockchain. The developer is free to encode any data they wish to send. Typically, developers use arbitrary messaging to trigger an informed action on the receiving smart contract, such as rebalancing an index, minting a specific NFT, or calling an arbitrary function with the sent data as custom parameters. Developers can encode multiple instructions in a single message, enabling them to orchestrate complex, multi-step, multi-chain tasks.
- Token Transfer: You can transfer tokens to a smart contract or directly to an Externally Owned Account(EOA) on a different blockchain.
- Programmable Token Transfer: is the ability to simultaneously transfer tokens and arbitrary data (encoded as bytes) within a single transaction. This mechanism allows users to transfer tokens and send instructions on what to do with those tokens. For example, a user could transfer tokens to a lending protocol with instructions to leverage those tokens as collateral for a loan, borrowing another asset to be sent back to the user.
It is recommended that token issuers use CCIP's native Token Transfer capabilities to enable the transfer of their tokens across blockchains. CCIP Token Transfers offer rigorously audited Token Pool contracts and provide configurable rate-limiting functionalities for an enhanced developer experience and risk management. In addition, Token Transfers also improve the composability of tokens with other dApps and token bridges that are integrated with the standardized CCIP interface.
Receiving account types
With CCIP, you send transactions with data, tokens, or both data and tokens. The receiver of a CCIP transaction is either a smart contract or an externally owned account (EOA). Smart contracts can receive both data and tokens, while EOAs can only receive tokens:
CCIP capability | What is sent | Type of receiving account supported |
---|---|---|
Arbitrary Messaging | Data | Smart contracts only. EOAs on EVM blockchains cannot receive messages. |
Token Transfer | Tokens | Smart contracts and EOAs |
Programmable Token Transfer | Data and tokens | Smart contracts only. If you send data and transfer tokens to an EOA, only tokens will be transferred. |
Common use cases
Chainlink CCIP enables a variety of use cases:
- Cross-chain lending: Chainlink CCIP enables users to lend and borrow a wide range of crypto assets across multiple DeFi platforms running on independent chains.
- Low-cost transaction computation: Chainlink CCIP can help offload the computation of transaction data on cost-optimized chains.
- Optimizing cross-chain yield: Users can leverage Chainlink CCIP to move collateral to new DeFi protocols to maximize yield across chains.
- Creating new kinds of dApps: Chainlink CCIP enables users to take advantage of network effects on certain chains while harnessing compute and storage capabilities of other chains.
Read What Are Cross-Chain Smart Contracts to learn about cross-chain smart contracts and examples of use cases they enable.
Supported networks
See the Supported Networks page for a list of supported networks, tokens, and contract addresses.
To learn about tokens, token pools, and the token onboarding process, see the CCIP Architecture page.