IBC Protocol

The standard for
interchain communication

IBC is a reliable, ordered, and authenticated protocol for relaying arbitrary messages between independent distributed ledgers.
Get Started

IBC can be implemented by any consensus algorithm that supports cheaply verifiable finality with any state machine that supports vector commitments.


IBC defines a set of low-level primitives for authentication, transport, and ordering, and a set of application-level standards for asset & data semantics. Ledgers which support compatible standards can be connected together without any special permissions.


IBC is built as a stack of components with explicit interfaces and security properties. Implementations of a component at a particular layer can vary as long as they provide the requisite properties. State machines need only understand compatible subsets of IBC to safely interact.

Topologically agnostic

IBC makes no assumptions, and relies upon no characteristics, of the topological structure of the network of blockchains in which it is operating. Security and correctness can be reasoned about at the level of a single connection and channel between two modules on two chains.


Members of the IBC working group

Tendermint Inc
Interchain Foundation
Agoric Systems

Frameworks commited to IBC support

Cosmos SDK
IOV Weave
Nomic Lotion

Learn more about IBC

Get started
Source code
Video content
Developer chat