IBC Eureka is a new and simplified version of the Inter-Blockchain Communication (IBC) protocol (refer to the following links for a primer on IBC - [1], [2], [3]).

The primary goal of Eureka is to make it easier for VMs other than the Cosmos SDK to integrate IBC.

From a product standpoint, the motivation with Eureka has been to understand and retain the core product offering of IBC - for applications on disparate networks to communicate via light client-backed security - while chipping away at unnecessary protocol complexity.

How IBC Eureka Differs From IBC Classic

Feature IBC Classic IBC Eureka
Handshake Protocol Requires a 4-step handshake to establish channels and connections No handshakes required. Uses preconfigured client identifiers. Connections have been removed.
Channels Channels connect two ports on two different chains Channels connect two different chains
Timeouts Supports timeout height and timeout timestamp (in nano seconds) Timeout height is removed. Supports only timeout timestamp (in seconds)
Encoding Standard Dependency on protobuf Supports any encoding standard
Resource Requirements Higher resource requirements, especially for non-Cosmos chains Optimized for low-resource environments like the EVM

Main Features

Example Use Cases

eureka.drawio.png

APIs for Off-Chain Integrators (e.g. Relayers, Frontends)