IBC
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.
See ROADMAP.md for a public up-to-date version of our roadmap.
What is IBC?
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 Number | Standard Title | Stage | Maintainer |
---|---|---|---|
1 | ICS Specification Standard | N/A | Protocol team |
Core
Interchain Standard Number | Standard Title | Stage | Implementations | Maintainer |
---|---|---|---|---|
2 | Client Semantics | Candidate | ibc-go | Protocol team |
3 | Connection Semantics | Candidate | ibc-go | Protocol team |
4 | Channel & Packet Semantics | Candidate | ibc-go | Protocol team |
5 | Port Allocation | Candidate | ibc-go | Protocol team |
23 | Vector Commitments | Candidate | ibc-go | Protocol team |
24 | Host Requirements | Candidate | ibc-go | Protocol team |
25 | Handler Interface | Candidate | ibc-go | Protocol team |
26 | Routing Module | Candidate | ibc-go | Protocol team |
33 | Multi-hop Messaging | Candidate | ibc-go | Protocol team |
Client
Interchain Standard Number | Standard Title | Stage | Implementations | Maintainer |
---|---|---|---|---|
6 | Solo Machine Client | Candidate | ibc-go | Protocol team |
7 | Tendermint Client | Candidate | ibc-go | Protocol team |
8 | Wasm Client | Draft | Protocol team / Composable Finance | |
9 | Loopback Client | Draft | ibc-go | Protocol team |
10 | GRANDPA Client | Draft | Octopus Network |
Relayer
Interchain Standard Number | Standard Title | Stage | Implementations | Maintainer |
---|---|---|---|---|
18 | Relayer Algorithms | Finalized | go-relayer, rust-relayer, ts-relayer | Protocol team |
App
Interchain Standard Number | Standard Title | Stage | Implementations | Maintainer |
---|---|---|---|---|
20 | Fungible Token Transfer | Candidate | ibc-go | Protocol team |
27 | Interchain Accounts | Candidate | ibc-go | Protocol team |
28 | Cross-Chain Validation | Draft | Protocol team | |
29 | General Relayer Incentivization Mechanism | Candidate | ibc-go | Protocol team |
30 | IBC Application Middleware | N/A | N/A | Protocol team |
31 | Cross-Chain Queries | Draft | N/A | Protocol team |
32 | Interchain Queries | Candidate | async-icq | Strangelove Ventures |
100 | Interchain Atomic Swap | Candidate | ibcswap | Side Labs |
721 | Non-Fungible Token Transfer | Candidate | nft-transfer | IRIS Network |
Translations
The Interchain Standards are also translated into the following languages: