# Cosmos Docs: IBC Protocol v11.x.x

> Developer documentation for the Cosmos stack. Build secure, reliable, and high-performance blockchains.

## v11.x.x

### Documentation

#### IBC Protocol

- [IBC-Go Documentation](https://docs.cosmos.network/ibc/latest/intro.md): Welcome to the documentation for IBC-Go, the Golang implementation of the Inter-Blockchain Communication Protocol!

#### IBC Core

- [Overview](https://docs.cosmos.network/ibc/latest/ibc/overview.md)

##### Core Concepts

- [Best Practices](https://docs.cosmos.network/ibc/latest/ibc/best-practices.md)
- [Integration](https://docs.cosmos.network/ibc/latest/ibc/integration.md)
- [Permissioning](https://docs.cosmos.network/ibc/latest/ibc/permissioning.md)
- [Relayer](https://docs.cosmos.network/ibc/latest/ibc/relayer.md)

##### Apps

- [IBC v2 Applications](https://docs.cosmos.network/ibc/latest/ibc/apps/ibcv2apps.md)
- [IBC Applications](https://docs.cosmos.network/ibc/latest/ibc/apps/apps.md)
- [Implement IBCModule interface and callbacks](https://docs.cosmos.network/ibc/latest/ibc/apps/ibcmodule.md)
- [Bind ports](https://docs.cosmos.network/ibc/latest/ibc/apps/bindports.md)
- [Keeper](https://docs.cosmos.network/ibc/latest/ibc/apps/keeper.md)
- [Define packets and acks](https://docs.cosmos.network/ibc/latest/ibc/apps/packets_acks.md)
- [Routing](https://docs.cosmos.network/ibc/latest/ibc/apps/routing.md)
- [Custom Address Codec](https://docs.cosmos.network/ibc/latest/ibc/apps/address-codec.md)

##### Middleware

- [IBC middleware](https://docs.cosmos.network/ibc/latest/ibc/middleware/overview.md)
- [Create a custom IBC middleware](https://docs.cosmos.network/ibc/latest/ibc/middleware/develop.md): IBC middleware will wrap over an underlying IBC application (a base application or downstream middleware) and sits between core IBC and the base application.
- [Create and integrate IBC v2 middleware](https://docs.cosmos.network/ibc/latest/ibc/middleware/developIBCv2.md): 1. Create a custom IBC v2 middleware 2. Implement IBCModule interface 3. WriteAckWrapper 4. Integrate IBC v2 Middleware 5. Security Model 6. Design Principles
- [Integrating IBC middleware into a chain](https://docs.cosmos.network/ibc/latest/ibc/middleware/integration.md): Learn how to integrate IBC middleware(s) with a base application to your chain. The following document only applies for Cosmos SDK chains.

##### Upgrades

- [Upgrading IBC Chains Overview](https://docs.cosmos.network/ibc/latest/ibc/upgrades/intro.md): This directory contains information on how to upgrade an IBC chain without breaking counterparty clients and connections.
- [How to Upgrade IBC Chains and their Clients](https://docs.cosmos.network/ibc/latest/ibc/upgrades/quick-guide.md)
- [IBC Client Developer Guide to Upgrades](https://docs.cosmos.network/ibc/latest/ibc/upgrades/developer-guide.md)
- [Genesis Restart Upgrades](https://docs.cosmos.network/ibc/latest/ibc/upgrades/genesis-restart.md)

#### IBC Migrations

##### Version Upgrades

- [IBC-Go v11.0 to v11.1](https://docs.cosmos.network/ibc/latest/migrations/v11-to-v11-1.md): This guide provides instructions for migrating from ibc-go v11.0 to v11.1.
- [IBC-Go v10 to v11.1](https://docs.cosmos.network/ibc/latest/migrations/v10-to-v11-1.md): This guide provides instructions for migrating from ibc-go v10 to v11.1.
- [IBC-Go v10 to v11](https://docs.cosmos.network/ibc/latest/migrations/v10-to-v11.md): This guide provides instructions for migrating to a new version of ibc-go.
- [IBC-Go v8.1 to v10](https://docs.cosmos.network/ibc/latest/migrations/v8_1-to-v10.md): This guide provides instructions for migrating to a new version of ibc-go.
- [IBC-Go v8 to v8.1](https://docs.cosmos.network/ibc/latest/migrations/v8-to-v8_1.md): This guide provides instructions for migrating to version v8.1.0 of ibc-go.
- [IBC-Go v7 to v8](https://docs.cosmos.network/ibc/latest/migrations/v7-to-v8.md): This guide provides instructions for migrating to version v8.0.0 of ibc-go.
- [IBC-Go v7.2 to v7.3](https://docs.cosmos.network/ibc/latest/migrations/v7_2-to-v7_3.md): This guide provides instructions for migrating to version v7.3.0 of ibc-go.
- [IBC-Go v7 to v7.1](https://docs.cosmos.network/ibc/latest/migrations/v7-to-v7_1.md): This guide provides instructions for migrating to version v7.1.0 of ibc-go.
- [IBC-Go v6 to v7](https://docs.cosmos.network/ibc/latest/migrations/v6-to-v7.md): This document is intended to highlight significant changes which may require more information than presented in the CHANGELOG. Any changes that must be done by a user of ibc-go should be documented here.
- [IBC-Go v5 to v6](https://docs.cosmos.network/ibc/latest/migrations/v5-to-v6.md): This document is intended to highlight significant changes which may require more information than presented in the CHANGELOG. Any changes that must be done by a user of ibc-go should be documented here.
- [IBC-Go v4 to v5](https://docs.cosmos.network/ibc/latest/migrations/v4-to-v5.md): This document is intended to highlight significant changes which may require more information than presented in the CHANGELOG. Any changes that must be done by a user of ibc-go should be documented here.
- [IBC-Go v3 to v4](https://docs.cosmos.network/ibc/latest/migrations/v3-to-v4.md): This document is intended to highlight significant changes which may require more information than presented in the CHANGELOG. Any changes that must be done by a user of ibc-go should be documented here.
- [IBC-Go v2 to v3](https://docs.cosmos.network/ibc/latest/migrations/v2-to-v3.md): This document is intended to highlight significant changes which may require more information than presented in the CHANGELOG. Any changes that must be done by a user of ibc-go should be documented here.
- [IBC-Go v1 to v2](https://docs.cosmos.network/ibc/latest/migrations/v1-to-v2.md): This document is intended to highlight significant changes which may require more information than presented in the CHANGELOG. Any changes that must be done by a user of ibc-go should be documented here.

##### Additional Migration Guides

- [SDK v0.43 to IBC-Go v1](https://docs.cosmos.network/ibc/latest/migrations/sdk-to-v1.md): This file contains information on how to migrate from the IBC module contained in the SDK 0.41.x and 0.42.x lines to the IBC module in the ibc-go repository based on the 0.44 SDK version.
- [Support transfer of coins whose base denom contains slashes](https://docs.cosmos.network/ibc/latest/migrations/support-denoms-with-slashes.md): This document is intended to highlight significant changes which may require more information than presented in the CHANGELOG. Any changes that must be done by a user of ibc-go should be documented here.
- [Support the new StackBuilder primitive for Wiring Middlewares in the chain application](https://docs.cosmos.network/ibc/latest/migrations/support-stackbuilder.md)

#### IBC Light Clients

- [Governance Proposals](https://docs.cosmos.network/ibc/latest/light-clients/proposals.md)

##### Developer Guide

- [Overview](https://docs.cosmos.network/ibc/latest/light-clients/developer-guide/overview.md)
- [Light Client Module interface](https://docs.cosmos.network/ibc/latest/light-clients/developer-guide/light-client-module.md): Status must return the status of the client.
- [Client State interface](https://docs.cosmos.network/ibc/latest/light-clients/developer-guide/client-state.md): Learn how to implement the ClientState interface.
- [Consensus State interface](https://docs.cosmos.network/ibc/latest/light-clients/developer-guide/consensus-state.md): A ConsensusState is the snapshot of the counterparty chain, that an IBC client uses to verify proofs (e.g. a block).
- [Handling Updates and Misbehaviour](https://docs.cosmos.network/ibc/latest/light-clients/developer-guide/updates-and-misbehaviour.md): As mentioned before in the documentation about implementing the ConsensusState interface, ClientMessage is an interface used to update an IBC client. This update may be performed by:
- [Handling Upgrades](https://docs.cosmos.network/ibc/latest/light-clients/developer-guide/upgrades.md)
- [Existence/Non-Existence Proofs](https://docs.cosmos.network/ibc/latest/light-clients/developer-guide/proofs.md): IBC uses merkle proofs in order to verify the state of a remote counterparty state machine given a trusted root, and ICS-23 is a general approach for verifying merkle trees which is used in ibc-go.
- [Handling Proposals](https://docs.cosmos.network/ibc/latest/light-clients/developer-guide/proposals.md)
- [Setup](https://docs.cosmos.network/ibc/latest/light-clients/developer-guide/setup.md)

##### Localhost

- [Overview](https://docs.cosmos.network/ibc/latest/light-clients/localhost/overview.md)
- [Integration](https://docs.cosmos.network/ibc/latest/light-clients/localhost/integration.md): The 09-localhost light client module registers codec types within the core IBC module. This differs from other light client module implementations which are expected to register codec types using the AppModuleBasic interface.
- [ClientState](https://docs.cosmos.network/ibc/latest/light-clients/localhost/client-state.md): The 09-localhost client is stateless and has no types.
- [Connection](https://docs.cosmos.network/ibc/latest/light-clients/localhost/connection.md): The 09-localhost light client module integrates with core IBC through a single sentinel localhost connection. The sentinel ConnectionEnd is stored by default in the core IBC store.
- [State Verification](https://docs.cosmos.network/ibc/latest/light-clients/localhost/state-verification.md): The localhost client handles state verification through the LightClientModule interface methods VerifyMembership and VerifyNonMembership by performing read-only operations directly on the core IBC store.

##### Solo Machine

- [Solomachine](https://docs.cosmos.network/ibc/latest/light-clients/solomachine/solomachine.md): This paper defines the implementation of the ICS06 protocol on the Cosmos SDK. For the general specification please refer to the ICS06 Specification.
- [Concepts](https://docs.cosmos.network/ibc/latest/light-clients/solomachine/concepts.md): The ClientState for a solo machine light client stores the latest sequence, the frozen sequence, the latest consensus state, and client flag indicating if the client should be allowed to be updated after a governance proposal.
- [State](https://docs.cosmos.network/ibc/latest/light-clients/solomachine/state.md): The solo machine light client will only store consensus states for each update by a header or a governance proposal. The latest client state is also maintained in the store.
- [State Transitions](https://docs.cosmos.network/ibc/latest/light-clients/solomachine/state_transitions.md): Successful state verification by a solo machine light client will result in:

##### Tendermint

- [Overview](https://docs.cosmos.network/ibc/latest/light-clients/tendermint/overview.md)

##### WASM

- [Overview](https://docs.cosmos.network/ibc/latest/light-clients/wasm/overview.md): Learn about the 08-wasm light client proxy module.
- [Concepts](https://docs.cosmos.network/ibc/latest/light-clients/wasm/concepts.md): Learn about the differences between a proxy light client and a Wasm light client.
- [Integration](https://docs.cosmos.network/ibc/latest/light-clients/wasm/integration.md): Learn how to integrate the 08-wasm module in a chain binary and about the recommended approaches depending on whether the x/wasm module is already used in the chain. The following document only applies for Cosmos SDK chains.
- [Messages](https://docs.cosmos.network/ibc/latest/light-clients/wasm/messages.md): Uploading the Wasm light client contract to the Wasm VM storage is achieved by means of MsgStoreCode:
- [Governance](https://docs.cosmos.network/ibc/latest/light-clients/wasm/governance.md): Learn how to upload Wasm light client byte code on a chain, and how to migrate an existing Wasm light client contract.
- [Events](https://docs.cosmos.network/ibc/latest/light-clients/wasm/events.md): The 08-wasm module emits the following events:
- [Contracts](https://docs.cosmos.network/ibc/latest/light-clients/wasm/contracts.md): Learn about the expected behaviour of Wasm light client contracts and the between with 08-wasm.
- [Client](https://docs.cosmos.network/ibc/latest/light-clients/wasm/client.md): A user can query and interact with the 08-wasm module using the CLI. Use the --help flag to discover the available commands:
- [Migrations](https://docs.cosmos.network/ibc/latest/light-clients/wasm/migrations.md): This guide provides instructions for migrating 08-wasm versions.

#### IBC Apps

##### Interchain Accounts

- [Overview](https://docs.cosmos.network/ibc/latest/apps/interchain-accounts/overview.md)
- [Development Use Cases](https://docs.cosmos.network/ibc/latest/apps/interchain-accounts/development.md)
- [Authentication Modules](https://docs.cosmos.network/ibc/latest/apps/interchain-accounts/auth-modules.md)
- [Integration](https://docs.cosmos.network/ibc/latest/apps/interchain-accounts/integration.md)
- [Messages](https://docs.cosmos.network/ibc/latest/apps/interchain-accounts/messages.md): An Interchain Accounts channel handshake can be initiated using MsgRegisterInterchainAccount:
- [Parameters](https://docs.cosmos.network/ibc/latest/apps/interchain-accounts/parameters.md): The Interchain Accounts module contains the following on-chain parameters, logically separated for each distinct submodule:
- [Transaction Encoding](https://docs.cosmos.network/ibc/latest/apps/interchain-accounts/tx-encoding.md): When orchestrating an interchain account transaction, which comprises multiple sdk.Msg objects represented as Any types, the transactions must be encoded as bytes within InterchainAccountPacketData.
- [Client](https://docs.cosmos.network/ibc/latest/apps/interchain-accounts/client.md): A user can query and interact with the Interchain Accounts module using the CLI. Use the --help flag to discover the available commands:
- [Active Channels](https://docs.cosmos.network/ibc/latest/apps/interchain-accounts/active-channels.md): The Interchain Accounts module uses either ORDERED or UNORDERED channels.

###### Legacy

- [Authentication Modules](https://docs.cosmos.network/ibc/latest/apps/interchain-accounts/legacy/auth-modules.md): This document is deprecated and will be removed in future releases.
- [Integration](https://docs.cosmos.network/ibc/latest/apps/interchain-accounts/legacy/integration.md): This document is deprecated and will be removed in future releases.
- [Keeper API](https://docs.cosmos.network/ibc/latest/apps/interchain-accounts/legacy/keeper-api.md): This document is deprecated and will be removed in future releases.

##### Transfer

- [Overview](https://docs.cosmos.network/ibc/latest/apps/transfer/overview.md)
- [State](https://docs.cosmos.network/ibc/latest/apps/transfer/state.md): The IBC transfer application module keeps state of the port to which the module is binded and the denomination trace information.
- [State Transitions](https://docs.cosmos.network/ibc/latest/apps/transfer/state-transitions.md): A successful fungible token send has two state transitions depending if the transfer is a movement forward or backwards in the token's timeline:
- [Messages](https://docs.cosmos.network/ibc/latest/apps/transfer/messages.md): A fungible token cross chain transfer is achieved by using the MsgTransfer:
- [Events](https://docs.cosmos.network/ibc/latest/apps/transfer/events.md)
- [Metrics](https://docs.cosmos.network/ibc/latest/apps/transfer/metrics.md): The IBC transfer application module exposes the following set of metrics.
- [Params](https://docs.cosmos.network/ibc/latest/apps/transfer/params.md): The IBC transfer application module contains the following parameters:
- [Authorizations](https://docs.cosmos.network/ibc/latest/apps/transfer/authorizations.md)
- [Client](https://docs.cosmos.network/ibc/latest/apps/transfer/client.md): A user can query and interact with the transfer module using the CLI. Use the --help flag to discover the available commands:
- [IBC v2 Transfer](https://docs.cosmos.network/ibc/latest/apps/transfer/IBCv2-transfer.md): Much of the core business logic of sending and recieving tokens between chains is unchanged between IBC Classic and IBC v2. Some of the key differences to pay attention to are detailed below.

#### IBC Middleware

##### Callbacks

- [Overview](https://docs.cosmos.network/ibc/latest/middleware/callbacks/overview.md): Learn about what the Callbacks Middleware is, and how to build custom modules that utilize the Callbacks Middleware functionality
- [Integration](https://docs.cosmos.network/ibc/latest/middleware/callbacks/integration.md): Learn how to integrate the callbacks middleware with IBC applications. The following document is intended for developers building on top of the Cosmos SDK and only applies for Cosmos SDK chains.
- [Interfaces](https://docs.cosmos.network/ibc/latest/middleware/callbacks/interfaces.md)
- [Events](https://docs.cosmos.network/ibc/latest/middleware/callbacks/events.md): An overview of all events related to the callbacks middleware. There are two types of events, "ibcsrccallback" and "ibcdestcallback".
- [End Users](https://docs.cosmos.network/ibc/latest/middleware/callbacks/end-users.md): This section explains how to use the callbacks middleware from the perspective of an IBC Actor. Callbacks middleware provides two types of callbacks:
- [Gas Management](https://docs.cosmos.network/ibc/latest/middleware/callbacks/gas.md): Executing arbitrary code on a chain can be arbitrarily expensive. In general, a callback may consume infinite gas (think of a callback that loops forever). This is problematic for a few reasons:
- [Callbacks with IBC v2](https://docs.cosmos.network/ibc/latest/middleware/callbacks/callbacks-IBCv2.md): This page highlights some of the differences between IBC v2 and IBC classic relevant for the callbacks middleware and how to use the module with IBC v2. More details on middleware for IBC v2 can be found in the middleware section.

##### Packet Forward Middleware

- [Overview](https://docs.cosmos.network/ibc/latest/middleware/packet-forward-middleware/overview.md): Packet Forward Middleware enables multi-hop IBC token transfers through intermediate chains.
- [Integration](https://docs.cosmos.network/ibc/latest/middleware/packet-forward-middleware/integration.md): This document provides instructions on integrating and configuring the Packet Forward Middleware (PFM) within your existing chain implementation.
- [Example Flows](https://docs.cosmos.network/ibc/latest/middleware/packet-forward-middleware/example-usage.md): This document outlines some example flows leveraging packet forward middleware and formats of the memo field.

##### Rate Limit Middleware

- [Overview](https://docs.cosmos.network/ibc/latest/middleware/rate-limit-middleware/overview.md): A governance-configured middleware that caps net token flow across IBC transfers.
- [Integration](https://docs.cosmos.network/ibc/latest/middleware/rate-limit-middleware/integration.md): Wire the rate limiting middleware into a chain for IBC v1 and v2.
- [Setting Rate Limits](https://docs.cosmos.network/ibc/latest/middleware/rate-limit-middleware/setting-limits.md): Configure rate limits through governance, and set whitelists and blacklists in genesis.
- [Migration](https://docs.cosmos.network/ibc/latest/middleware/rate-limit-middleware/migration.md): Move an existing ibc-apps rate limiting integration to ibc-go.

#### Security

- [Security Audits](https://docs.cosmos.network/ibc/latest/security-audits.md): Comprehensive security audit reports for IBC-Go protocol and features

### ADRs

#### Architecture Decision Records

- [README](https://docs.cosmos.network/ibc/latest/architecture/README.md)
- [ADR 001: Coin Source Tracing](https://docs.cosmos.network/ibc/latest/architecture/adr-001-coin-source-tracing.md)
- [ADR 002: Go Module Versioning](https://docs.cosmos.network/ibc/latest/architecture/adr-002-go-module-versioning.md)
- [ADR 003: ICS-27 Acknowledgement Format](https://docs.cosmos.network/ibc/latest/architecture/adr-003-ics27-acknowledgement.md)
- [ADR 004: Lock Fee Module Upon Escrow Out Of Balance](https://docs.cosmos.network/ibc/latest/architecture/adr-004-ics29-lock-fee-module.md)
- [ADR 005: UpdateClient Events ClientState Consensus Heights](https://docs.cosmos.network/ibc/latest/architecture/adr-005-consensus-height-events.md)
- [ADR 006: 02-Client Refactor](https://docs.cosmos.network/ibc/latest/architecture/adr-006-02-client-refactor.md)
- [ADR 007: Solo Machine Sign Bytes](https://docs.cosmos.network/ibc/latest/architecture/adr-007-solomachine-signbytes.md)
- [ADR 008: Callback to IBC Actors](https://docs.cosmos.network/ibc/latest/architecture/adr-008-app-caller-cbs.md)
- [ADR 009: ICS27 Message Server Addition](https://docs.cosmos.network/ibc/latest/architecture/adr-009-v6-ics27-msgserver.md)
- [ADR 010: IBC Light Clients As SDK Modules](https://docs.cosmos.network/ibc/latest/architecture/adr-010-light-clients-as-sdk-modules.md)
- [ADR 011: ICS-20 Transfer State Entry For Total Amount Of Tokens In Escrow](https://docs.cosmos.network/ibc/latest/architecture/adr-011-transfer-total-escrow-state-entry.md)
- [ADR 015: IBC Packet Receiver](https://docs.cosmos.network/ibc/latest/architecture/adr-015-ibc-packet-receiver.md)
- [ADR 025: IBC Passive Channels](https://docs.cosmos.network/ibc/latest/architecture/adr-025-ibc-passive-channels.md)
- [ADR 026: IBC Client Recovery Mechanisms](https://docs.cosmos.network/ibc/latest/architecture/adr-026-ibc-client-recovery-mechanisms.md)
- [ADR 27: Add Support For Wasm Based Light Client](https://docs.cosmos.network/ibc/latest/architecture/adr-027-ibc-wasm.md)

### Specs

#### IBC Specs (v1)

##### App

###### ics-020-fungible-token-transfer

- [Fungible Token Transfer](https://docs.cosmos.network/ibc/latest/spec/app/ics-020-fungible-token-transfer/README.md)

###### deprecated

- [Fungible Token Transfer](https://docs.cosmos.network/ibc/latest/spec/app/ics-020-fungible-token-transfer/deprecated/README.md)

###### ics-027-interchain-accounts

- [Interchain Accounts](https://docs.cosmos.network/ibc/latest/spec/app/ics-027-interchain-accounts/README.md)

###### ics-028-cross-chain-validation

- [Cross-Chain Validation](https://docs.cosmos.network/ibc/latest/spec/app/ics-028-cross-chain-validation/README.md)
- [CCV: Technical Specification - Data Structures](https://docs.cosmos.network/ibc/latest/spec/app/ics-028-cross-chain-validation/data_structures.md)
- [CCV: Technical Specification - Methods](https://docs.cosmos.network/ibc/latest/spec/app/ics-028-cross-chain-validation/methods.md)
- [CCV: Overview and Basic Concepts](https://docs.cosmos.network/ibc/latest/spec/app/ics-028-cross-chain-validation/overview_and_basic_concepts.md)
- [CCV: System Model and Properties](https://docs.cosmos.network/ibc/latest/spec/app/ics-028-cross-chain-validation/system_model_and_properties.md)
- [CCV: Technical Specification](https://docs.cosmos.network/ibc/latest/spec/app/ics-028-cross-chain-validation/technical_specification.md)

###### ics-029-fee-payment

- [General Fee Payment](https://docs.cosmos.network/ibc/latest/spec/app/ics-029-fee-payment/README.md)

###### ics-030-middleware

- [IBC Middleware](https://docs.cosmos.network/ibc/latest/spec/app/ics-030-middleware/README.md)

###### ics-031-crosschain-queries

- [Cross-chain Queries](https://docs.cosmos.network/ibc/latest/spec/app/ics-031-crosschain-queries/README.md)

###### ics-100-atomic-swap

- [Atomic Swap](https://docs.cosmos.network/ibc/latest/spec/app/ics-100-atomic-swap/README.md)

###### ics-721-nft-transfer

- [Non-Fungible Token Transfer](https://docs.cosmos.network/ibc/latest/spec/app/ics-721-nft-transfer/README.md)

##### Client

- [Rollup Integration Guide](https://docs.cosmos.network/ibc/latest/spec/client/Rollup-Integration-guide.md)

###### ics-006-solo-machine-client

- [Solo Machine Client](https://docs.cosmos.network/ibc/latest/spec/client/ics-006-solo-machine-client/README.md)

###### ics-007-tendermint-client

- [Tendermint Client](https://docs.cosmos.network/ibc/latest/spec/client/ics-007-tendermint-client/README.md)

###### ics-008-wasm-client

- [Wasm Client](https://docs.cosmos.network/ibc/latest/spec/client/ics-008-wasm-client/README.md)

###### ics-009-loopback-cilent

- [Loopback Client](https://docs.cosmos.network/ibc/latest/spec/client/ics-009-loopback-cilent/README.md)

###### ics-010-grandpa-client

- [GRANDPA Client](https://docs.cosmos.network/ibc/latest/spec/client/ics-010-grandpa-client/README.md)

##### Core

###### ics-002-client-semantics

- [Client Semantics](https://docs.cosmos.network/ibc/latest/spec/core/ics-002-client-semantics/README.md)

###### ics-003-connection-semantics

- [Connection Semantics](https://docs.cosmos.network/ibc/latest/spec/core/ics-003-connection-semantics/README.md)
- [Client Validation Removal](https://docs.cosmos.network/ibc/latest/spec/core/ics-003-connection-semantics/client-validation-removal.md)

###### ics-004-channel-and-packet-semantics

- [Channel & Packet Semantics](https://docs.cosmos.network/ibc/latest/spec/core/ics-004-channel-and-packet-semantics/README.md)
- [Upgrading Channels](https://docs.cosmos.network/ibc/latest/spec/core/ics-004-channel-and-packet-semantics/UPGRADES.md)

###### ics-005-port-allocation

- [Port Allocation](https://docs.cosmos.network/ibc/latest/spec/core/ics-005-port-allocation/README.md)

###### ics-023-vector-commitments

- [Vector Commitments](https://docs.cosmos.network/ibc/latest/spec/core/ics-023-vector-commitments/README.md)

###### ics-024-host-requirements

- [Host State Machine Requirements](https://docs.cosmos.network/ibc/latest/spec/core/ics-024-host-requirements/README.md)

###### ics-025-handler-interface

- [Handler Interface](https://docs.cosmos.network/ibc/latest/spec/core/ics-025-handler-interface/README.md)

###### ics-026-routing-module

- [Routing Module](https://docs.cosmos.network/ibc/latest/spec/core/ics-026-routing-module/README.md)
- [Application Upgrade Callbacks](https://docs.cosmos.network/ibc/latest/spec/core/ics-026-routing-module/UPGRADES.md)

###### ics-033-multi-hop

- [Multi-hop Channel](https://docs.cosmos.network/ibc/latest/spec/core/ics-033-multi-hop/README.md)

##### Ics-001-ics-standard

- [ICS Specification Standard](https://docs.cosmos.network/ibc/latest/spec/ics-001-ics-standard/README.md)

##### Relayer

###### ics-018-relayer-algorithms

- [Relayer Algorithms](https://docs.cosmos.network/ibc/latest/spec/relayer/ics-018-relayer-algorithms/README.md)

#### IBC Specs (v2)

- [IBC v2](https://docs.cosmos.network/ibc/latest/spec/IBC_V2/README.md)

##### Core

###### ics-002-client-semantics

- [Client Semantics](https://docs.cosmos.network/ibc/latest/spec/IBC_V2/core/ics-002-client-semantics/README.md)

###### ics-004-packet-semantics

- [IBC Packet Handler](https://docs.cosmos.network/ibc/latest/spec/IBC_V2/core/ics-004-packet-semantics/PACKET_HANDLER.md)
- [Packet Structure and Provable Commitment Specification](https://docs.cosmos.network/ibc/latest/spec/IBC_V2/core/ics-004-packet-semantics/PACKET.md)

###### ics-005-port-allocation

- [Port Allocation](https://docs.cosmos.network/ibc/latest/spec/IBC_V2/core/ics-005-port-allocation/README.md)

###### ics-024-host-requirements

- [Host State Machine Requirements](https://docs.cosmos.network/ibc/latest/spec/IBC_V2/core/ics-024-host-requirements/README.md)

###### ics-026-application-callbacks

- [IBC Application Callbacks](https://docs.cosmos.network/ibc/latest/spec/IBC_V2/core/ics-026-application-callbacks/README.md)

### Changelog

- [Changelog](https://docs.cosmos.network/ibc/latest/changelog/release-notes.md): Release history and changelog for Cosmos IBC
