CCIP Tutorials (TON)

Chainlink CCIP enables secure cross-chain communication between TON and EVM blockchains. These tutorials will help you implement cross-chain arbitrary messaging in both directions.

Getting Started

Before diving into specific implementations, ensure you understand the fundamentals:

Implementing CCIP Receivers on TON

Before sending any cross-chain message to TON, you need a receiver contract deployed on TON Testnet:

  • Implementing CCIP Receivers - Understand the TON CCIP receiver protocol and deploy a MessageReceiver, MinimalReceiver, or ReceiverWithValidateAndConfirm contract.

Using TON as a Source Chain

Send messages from TON to EVM chains:

  • TON to EVM Guide - Guide for building CCIP messages from TON to EVM chains.
  • Arbitrary Messaging - Send a data payload from a TON wallet to a receiver contract on Ethereum Sepolia.

Using TON as a Destination Chain

Send messages from EVM chains to TON:

  • EVM to TON Guide - Guide for building CCIP messages from EVM chains to TON.
  • Arbitrary Messaging - Send a data payload from Ethereum Sepolia to a receiver contract on TON Testnet.

Architecture Reference

Key Differences from EVM:

  • Cell-Based Storage: TON uses a Cell data structure (TL-B format) instead of ABI-encoded byte arrays. All CCIP message fields are serialized into Cells using builder primitives.
  • Actor Model: TON contracts communicate by passing messages between actors. CCIP delivery follows a multi-step internal message flow: Receiver_CCIPReceive → contract logic → Router_CCIPReceiveConfirm.
  • Tolk Language: TON smart contracts in the starter kit are written in Tolk, a statically-typed language that compiles to TVM bytecode.

Message Types:

  • Arbitrary Messaging: Send a data payload to trigger logic execution on the destination chain. Currently the only supported message type on TON CCIP lanes.

Get the latest Chainlink content straight to your inbox.