logo

TOKI and Datachain Enable IBC for Optimism

article cover image

As part of our commitment to open source, the IBC blog features guest post content from the contributor community. In this guest post, Masanori Yoshida, R&D Engineer at TOKI and Datachain, provides a technical walkthrough of their Optimism client for IBC. The client will work with both IBC v2 and IBC v1 (Classic). This walkthrough shows how to use it with IBC v1 (Classic). The Optimism client is currently in testnet.

The OP Client—our implementation of the Optimism Light Client—has been successfully developed, enabling IBC on Optimism via light client verification for the first time. Since the OP Client is compatible with ICS-02, it can be used for IBC connections with ICS-02-compatible chains and solutions, including those using IBC Eureka, as well as implementations like TOKI and Union. This post explains how the OP Client works in detail.


TL;DR

  • Optimism Protocol Overview: Optimism is an L2 protocol that operates off-chain but periodically submits compressed transaction data (batches) and state roots (proposals) to Ethereum L1. The canonical L2 state is deterministically derived from finalized L1 data, and a fault-proof mechanism ensures the integrity of these submissions.
  • What the OP Client Is: The OP Client securely tracks the finalized state of an Optimism-based L2 chain by executing L2 chain derivation from Ethereum L1 data—without needing to run a full node.
  • What the IBC Community Can Do: Since the OP Client is compatible with ICS-02, it can be used for IBC connections with ICS-02-compatible chains and solutions, including those adopting IBC Eureka, as well as implementations like TOKI and Union.

First IBC transaction on Op-Sepolia

We’re excited to share that we’ve completed the first IBC transactions on OP-Sepolia, Optimism’s testnet, using the OP Client. This marks the successful transfer of tokens via IBC between OP-Sepolia and the Ethereum Sepolia.

Here are the related transactions:

In this test transfer, we successfully sent an ERC-20 token from Alice on Sepolia to Bob on OP-Sepolia — using the OP Client we implemented. Support for IBC transfers between OP-Sepolia and the BSC testnet is coming soon. Once the audit is complete, we’ll roll out mainnet support as well. Check out the OP Client on GitHub.

Let’s dive into how the OP Client enables IBC connections to Optimism.

Optimism Protocol

Optimism Protocol is an L2 protocol built on top of Ethereum (Layer 1), designed to scale transaction throughput while leveraging Ethereum’s security. Although the L2 chain operates off-chain from the perspective of Ethereum, it periodically submits compressed transaction data called batches and state commitments called proposals to Ethereum L1. This ensures that the L2 state can be securely anchored to the L1 chain.

In the batching process, a sequencer collects and orders user transactions, compresses them, and regularly submits them to Ethereum. This design allows anyone to deterministically reconstruct the L2 chain from L1 data, even though the compressed data (submitted as blobs or calldata) is not directly accessible from the EVM. To reflect L2 state on Ethereum—for instance, in the case of withdrawing funds from L2 to L1—the sequencer submits state roots in the form of proposals, which can be verified using Merkle proofs.

Since these proposals are not automatically validated by smart contracts on L1, the protocol introduces a challenge period called fault-proof. During this period, anyone can challenge a potentially invalid proposal through an interactive dispute mechanism. This security model, which assumes at least one honest validator, defines the optimistic rollup approach.

The process of L2 chain derivation plays a critical role in the protocol. It involves scanning finalized L1 blocks to extract deposit and batch transactions and re-executing them to deterministically recreate the state of the L2 chain. This process is powered by a pre-image oracle—a tool that retrieves the original data from hashed commitments. Using only the L1 head as input, this oracle can provide all necessary preimages to trace L1 history and reconstruct L2 blocks and state transitions. This capability enables the Fault Proof Program, a deterministic procedure that derives the latest L2 state from L1 data and checks whether it aligns with submitted proposals.

How the OP Client works

The OP Client follows the IBC specifications but does not use a light client approach that only verifies block headers. Instead, it adopts a stateless client approach that verifies full block execution, including transactions. This is necessary because, due to the nature of L2 chains, the light client method is not applicable. Since stateless clients require significant computational resources, the OP Client leverages TEE (Trusted Execution Environment), which allows for flexible handling of such computational demands.

The OP Client builds on top of these foundations to provide a secure, lightweight way to track the finalized state of an Optimism-based L2 chain—without requiring a full node. Instead of relying on heavy infrastructure, the Light Client uses finalized L1 data and executes the same L2 chain derivation process defined in the Fault Proof Program.

It accepts inputs such as the finalized L1 head (verified via Ethereum’s Sync Committee Protocol), an L2 block hash/number for the from/to verification, and a pre-image oracle. This oracle is a key-value store that maps hashed commitments to their original data, enabling the client to reconstruct and verify the current L2 state.

Under the same assumption as the core protocol—that at least one validator is honest—this Light Client can track the canonical and finalized L2 chain in a trust-minimized way. This makes it a powerful tool for extending trustless interoperability, such as enabling IBC Protocol connections on Optimism.

For more details on the OP Client implementation, visit the repo on Github.

Additionally, TOKI uses LCP (Light Client Proxy) to make the IBC transactions on EVMs cost-efficiently while keeping the security level using TEEs and ZKPs. You can see how it works here.

Future work

Quantstamp’s audit for this implementation will begin soon and is expected to be completed by late Q2 or early Q3 2025. We’ll share an update once it’s finished.

Meanwhile, TOKI will continue expanding IBC to more OP Stack chains like Base, as well as other L2s such as Arbitrum, by implementing dedicated light clients for each network. We're excited to keep building as part of the Cosmos ecosystem.

About the Author

Masanori Yoshida, R&D Engineer at TOKI and Datachain.

Since 2020, Datachain and TOKI have played a key role in advancing IBC, contributing to initiatives like ibc-solidity and multiple light client implementations. TOKI offers a cross-chain bridge app with a single-sided unified liquidity pool, enabling secure and cost-efficient cross-chain transfers via IBC. They’re also leading enterprise adoption of IBC through collaborations with Swift and Japan’s largest banks to facilitate cross-border stablecoin transfers. Follow us @tokifinance on X.

Recent Articles

Cover for IBC v2: Enabling IBC EverywhereIBC v2: Enabling IBC Everywhere
The v2 of the Inter-Blockchain Communication Protocol, launches at the end of March 2025. This blog details the changes to the protocol and how you can benefit from the improved design.
avatar
Susannah Evans
February 20, 2025
11 Min
Cover for IBC Attestations: Light Clients are the Tip of the IcebergIBC Attestations: Light Clients are the Tip of the Iceberg
This post discusses multiple ways teams can build IBC connections other than via light clients. We are working on an attestation-based solution to connect IBC to Base, Arbitrum, Solana, and beyond, and are seeking your feedback.
avatar
Susannah Evans
March 20, 2025
4 Min
Head to our Github to begin.

Ready to get started?