NEW

CCIP is now live for all developers. See what's new.

Back

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.

Chainlink CCIP provides a single simple interface through which dApps and web3 entrepreneurs can securely meet all their cross-chain needs. You can use CCIP to transfer data, tokens, or both data and tokens across chains.

Given the inherent risks of cross-chain interoperability, CCIP is built with a security-first mindset. Some security features include a Risk Management Network that monitors for malicious activity, decentralized oracle computation from a wide range of high-quality node operators with verifiable onchain performance histories, and the offchain reporting (OCR) protocol, which already secures significant value on several mainnet blockchains.

Chainlink CCIP Architecture

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 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 EOA (Externally Owned Account) 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 capabilityWhat is sentType of receiving account supported
Arbitrary MessagingDataSmart contracts only. EOAs on EVM blockchains cannot receive messages.
Token TransferTokensSmart contracts and EOAs
Programmable Token TransferData and tokensSmart 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.

What's next

Stay updated on the latest Chainlink news