Home

Awesome

IBC

banner

Synopsis

This repository is the canonical location for development and documentation of the inter-blockchain communication protocol (IBC).

It shall be used to consolidate design rationale, protocol semantics, and encoding descriptions for IBC, including both the core transport, authentication, & ordering layer (IBC/TAO) and the application layers describing packet encoding & processing semantics (IBC/APP).

Contributions are welcome. See CONTRIBUTING.md for contribution guidelines.

What is IBC?

<!-- markdown-link-check-disable-next-line -->

For a high-level explanation of what IBC is and how it works, please read this blog post.

Interchain Standards

All standards at or past the "Draft" stage are listed here in order of their ICS numbers, sorted by category.

Meta

Interchain Standard NumberStandard TitleStageMaintainer
1ICS Specification StandardN/AProtocol team

Core Transport

Interchain Standard NumberStandard TitleStageImplementationsMaintainer
2Client SemanticsCandidateibc-go, ibc-rsProtocol team
3Connection SemanticsCandidateibc-go, ibc-rsProtocol team
4Channel & Packet SemanticsCandidateibc-go, ibc-rsProtocol team
5Port AllocationCandidateibc-goProtocol team
23Vector CommitmentsCandidateibc-go, ibc-rsProtocol team
24Host RequirementsCandidateibc-go, ibc-rsProtocol team
25Handler InterfaceCandidateibc-go, ibc-rsProtocol team
26Routing ModuleCandidateibc-go, ibc-rsProtocol team
33Multi-hop MessagingCandidateibc-goProtocol team

Light Clients

Interchain Standard NumberStandard TitleStageImplementationsMaintainer
6Solo Machine ClientCandidateibc-goProtocol team
7Tendermint ClientCandidateibc-go, ibc-rsProtocol team
8Wasm ClientCandidateibc-go, ibc-rsProtocol team / Composable Finance
9Loopback ClientDraftibc-goProtocol team
10GRANDPA ClientDraftOctopus Network

Relayer

Interchain Standard NumberStandard TitleStageImplementationsMaintainer
18Relayer AlgorithmsFinalizedgo-relayer, rust-relayer, ts-relayerProtocol team

App

Interchain Standard NumberVersionStandard TitleStageImplementationsMaintainer
20v2Fungible Token TransferCandidateibc-goProtocol team
20v1Fungible Token TransferCandidateibc-go, ibc-rsProtocol team
27v1Interchain AccountsCandidateibc-goProtocol team
28v1Cross-Chain ValidationCandidateinterchain-securityCosmos Hub team
29v1General Relayer Incentivization MechanismCandidateibc-goProtocol team
30v1IBC Application MiddlewareN/AN/AProtocol team
31v1Cross-Chain QueriesDraftN/AProtocol team
32v1Interchain QueriesCandidateasync-icqStrangelove Ventures
100v1Interchain Atomic SwapCandidateibcswapSide Labs
721v1Non-Fungible Token TransferCandidatenft-transferIRIS Network

Translations

The Interchain Standards are also translated into the following languages: