# Cosmos Documentation > Build the future of the internet of blockchains with Cosmos. ## Docs - [Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/overview.md): Cosmos EVM is an open-source platform for teams building their own chain, rollup, or EVM-compatible application. It offers the industry's leading Layer 1 stack with custom modules, instant finality, and a native interoperability layer. With Cosmos EVM, you maintain full ownership of your entire stac… - [Introduction](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/getting-started/build-a-chain/overview.md) - [Build A Custom EVM Chain](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/getting-started/build-a-chain/quick-start.md): Create your own blockchain by forking and customizing the Cosmos EVM reference chain (evmd). This guide covers the example chain configuration, running the chain locally, and understanding the foundation for building your custom network. - [Using the Local Node](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/getting-started/build-a-chain/using-local-node.md): Learn how to run your Cosmos EVM chain locally for development and testing. This guide covers the local_node.sh script, configuration options, wallet connections, and key management. - [EVM Mempool Integration](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/getting-started/build-a-chain/additional-configuration/mempool-integration.md): Integrate the EVM mempool with your Cosmos EVM chain - [Predeployed Contracts](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/getting-started/build-a-chain/additional-configuration/predeployed-contracts.md): Deploying and managing predeployed contracts - [Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/getting-started/index.md): Start building with Cosmos EVM. - [Frequently Asked Questions](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/getting-started/faq.md) - [Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/getting-started/tooling-and-resources/overview.md): Tooling and resources to 10x your development workflows. - [Development Environment Setup](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/getting-started/tooling-and-resources/development-environment.md): A guide to setting up a local environment for Cosmos EVM development. - [Block Explorers](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/getting-started/tooling-and-resources/block-explorers.md): Blockchain explorers allow users to query the blockchain for data. Explorers are often compared to search engines for the blockchain. By using an explorer, users can search and track balances, transactions, contracts, and other broadcast data to the blockchain. - [Foundry Guide - Setup & Walkthrough](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/getting-started/tooling-and-resources/foundry.md): An introduction to Foundry and using the `cast` function, replacing complex scripts that may otherwise require multiple rpc calls and other functions in between with a single command. - [Hardhat Guide: Setup & Workflows](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/getting-started/tooling-and-resources/hardhat.md): A guide to setting up and using the Hardhat development environment for building, testing, and deploying on Cosmos EVM. - [Remix IDE](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/getting-started/tooling-and-resources/remix.md): Deploy and test smart contracts on Cosmos EVM chains using the Remix browser-based IDE - [Popular Libraries for Development, Testing & Fuzzing](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/getting-started/tooling-and-resources/testing-and-fuzzing.md): Key frameworks, libraries, and practices for frontend development, wallet integration, smart contracts, testing and more. - [Wallet Integration](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/getting-started/tooling-and-resources/wallet-integration.md): Wallet integration is an essential aspect of dApp development that allows users to securely interact with blockchain-based applications. - [Upgrade Handlers](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/migrations/upgrade-handlers.md): Understanding and performing coordinated chain upgrades - [Migration: v0.3.0 to v0.4.0](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/migrations/migration-v0.3-to-v0.4.md) - [Migration: v0.4.x to v0.5.0](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/migrations/migration-v0.4-to-v0.5.md) - [ERC20 Precompiles Migration](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/migrations/erc20-precompiles-migration.md): Migration for ERC20 precompiles when upgrading to v0.4.0 - [Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/evm-compatibility/overview.md) - [EIP Reference](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/evm-compatibility/eip-reference.md): A complete list of Ethereum Mainnet "Final" EIPs and details on their implementation with Cosmos-EVM - [EIP-2935: Historical Block Hash Storage](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/evm-compatibility/eip-2935.md): Implementation of EIP-2935 for reliable historical block hash access in smart contracts - [EIP-7702: Set EOA Code](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/evm-compatibility/eip-7702.md): Implementation of EIP-7702 for enabling externally owned accounts to execute smart contract code temporarily - [Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/overview.md): Understanding how the EVM module provides Ethereum compatibility within the Cosmos SDK platform - [Accounts](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/accounts.md): Crypto Wallets (or Accounts) can be created and represented in unique ways on different blockchains. For developers who interface with account types on a Cosmos EVM chain, e.g. during wallet integration on their dApp frontend, it is therefore important to understand that accounts in the Cosmos EVM a… - [Chain ID](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/chain-id.md): Chain IDs are unique identifiers that distinguish blockchain networks from each other. Cosmos EVM uses a dual Chain ID system to maintain compatibility with both Cosmos SDK and Ethereum ecosystems. - [Encoding](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/encoding.md): Encoding refers to the process of converting data from one format to another to make it more secure and efficient. In the context of blockchain, encoding is used to ensure that data is stored and transmitted in a way that is secure and easily accessible. - [Gas and Fees](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/gas-and-fees.md): Users need to pay a fee to submit transactions on a Cosmos EVM-based blockchain. As fees are handled differently on Ethereum and Cosmos, it is important to understand how a Cosmos EVM blockchain implements an Ethereum-type fee calculation, that is compatible with the Cosmos SDK. - [IBC](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/ibc.md): An Overview of the Inter-Blockchain Communication Protocol - [Mempool](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/mempool.md): Design and Rationale - [State Export/Import](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/migrations.md): Cosmos EVM can dump the entire application state to a JSON file. This, besides upgrades, can be useful for manual analysis of the state at a given height. - [Pending State](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/pending-state.md): When a transaction is submitted to the Ethereum network, it first goes into the pending status, waiting to be executed by the nodes. A transaction can be in the pending state for a longer duration if the gas price is set very low in the transaction and the nodes are busy processing other higher gas… - [EIP-155: Replay Protection](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/replay-protection.md): EIP-155 is an Ethereum Improvement Proposal that introduced replay protection by including chain ID information in signed transaction data. This prevents a signed transaction from being valid on multiple networks, protecting users from replay attacks. - [Signing](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/signing.md): Signing is the process of creating a digital signature using a private key to verify a transaction on a blockchain. The signature is created using a specific cryptographic algorithm that ensures the authenticity and integrity of the transaction using methods like wallets and the CLI. - [Single Token Representation](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/single-token-representation.md): Understanding unified token models across Cosmos and EVM ecosystems - [Tokens](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/tokens.md): It is recommend to uses for your base denomination to maintain parity with Ethereum. There are two types of assets to consider on a Cosmos EVM-based chain: - [Transactions](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/transactions.md): A transaction refers to an action initiated by an account which changes the state of the blockchain. To effectively perform the state change, every transaction is broadcasted to the whole network. Any node can broadcast a request for a transaction to be executed on the blockchain state machine; afte… - [Predeployed Contracts](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/predeployed-contracts.md): Understanding predeployed contracts - what they are, why they're used, and how they differ from precompiles - [EIP-1559 Fee Market](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/eip-1559-feemarket.md): Understanding dynamic fee pricing and the EIP-1559 mechanism in Cosmos EVM chains - [Performance Optimization](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/performance.md): Performance improvements and optimization techniques in Cosmos EVM v0.5.0 - [Precision Handling](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/concepts/precision-handling.md): Understanding decimal precision bridging between Cosmos and EVM - [Introduction](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/introduction.md): Build and deploy EVM smart contracts on Cosmos chains with full Ethereum compatibility - [Precompiled Contracts](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/precompiles/index.md): A hub for precompiled contracts that bridge EVM and Cosmos SDK modules. - [Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/precompiles/overview.md): Precompiles are predefined functions that are integrated at the protocol level but exposed as EVM smart contract interfaces. Many precompiles provide access to Cosmos SDK module functionality for EVM applications and clients to easily leverage. - [Bank](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/precompiles/bank.md): An ERC20 interface to native Cosmos SDK tokens for balance queries and supply information - [Bech32](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/precompiles/bech32.md): Address format conversion between Ethereum hex addresses and Cosmos bech32 addresses - [Callbacks](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/precompiles/callbacks.md): Interface for IBC packet lifecycle callbacks in smart contracts - [Distribution](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/precompiles/distribution.md): Withdraw staking rewards and interact with the community pool - [ERC20](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/precompiles/erc20.md): Standard ERC20 token functionality for native Cosmos tokens - [Governance](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/precompiles/governance.md): On-chain governance participation through proposal submission, voting, and governance query operations - [ICS20](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/precompiles/ics20.md): Cross-chain token transfers via IBC (Inter-Blockchain Communication) protocol - [P256](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/precompiles/p256.md): secp256r1 (P-256) signature verification precompile for WebAuthn and secure hardware - [Slashing](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/precompiles/slashing.md): Validator slashing and jail management for network security - [Staking](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/precompiles/staking.md): Validator operations, delegation management, and staking functionality - [WERC20](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/precompiles/werc20.md): Single token representation: An ERC20 interface for any token - [Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/predeployed-contracts/overview.md): Ready-to-use smart contracts deployed at predefined addresses - [Create2 Factory](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/predeployed-contracts/create2.md): Deterministic contract deployment factory using the CREATE2 opcode - [Multicall3](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/predeployed-contracts/multicall3.md): Batch multiple contract calls in a single transaction for gas efficiency and atomicity - [Permit2](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/predeployed-contracts/permit2.md): Universal token approval and transfer management system with signature-based permissions - [Safe Singleton Factory](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/smart-contracts/predeployed-contracts/safe-factory.md): Factory contract for deploying Safe multisig wallets at deterministic addresses - [Custom Improvement Proposals](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/custom-improvement-proposals.md): Cosmos EVM allows protocol developers to register custom EIP activators that modify EVM behavior. This advanced feature enables chains to enable additional Ethereum Improvement Proposals or create chain-specific EVM modifications when needed. - [Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/cosmos-sdk/overview.md): Build application-specific blockchains with the modular Cosmos SDK framework. - [Command Line Interface (CLI)](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/cosmos-sdk/cli.md): The CLI tool ('evmd') provides a full-feature interface for interacting with the blockchain. This includes commands for node operations, key management, querying blockchain state, submitting transactions, and more. - [Technical Architecture](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/cosmos-sdk/protocol.md): Cosmos EVM is a framework that allows you to add Ethereum Virtual Machine (EVM) compatibility to any Cosmos SDK-based chain. Built on the CometBFT consensus engine, it provides fast finality, high transaction throughput, and short block times (~2 seconds). - [Erc20](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/cosmos-sdk/modules/erc20.md) - [Feemarket](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/cosmos-sdk/modules/feemarket.md) - [IBC](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/cosmos-sdk/modules/ibc.md): Inter-Blockchain Communication protocol implementation with EVM callbacks - [Precisebank](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/cosmos-sdk/modules/precisebank.md) - [Vm](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/documentation/cosmos-sdk/modules/vm.md) - [Ethereum JSON-RPC](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/api-reference/ethereum-json-rpc/index.md): The JSON-RPC server provides an API that allows you to connect to a Cosmos EVM-enabled blockchain and interact with the EVM. This gives you direct access to reading Ethereum-formatted transactions or sending them to the network. - [Methods](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/api-reference/ethereum-json-rpc/methods.md): Find below a list of JSON-RPC methods supported on Cosmos EVM, sorted by namespaces. - [JSON-RPC Explorer](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/api-reference/ethereum-json-rpc/rpc-explorer.md): Complete reference for Ethereum JSON-RPC methods supported on Cosmos EVM - [Release Notes](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/evm/v0.5.0/changelog/release-notes.md): Release history and changelog for Cosmos EVM - [Learn](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn.md): Version: v0.53 - [What is the Cosmos SDK](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/intro/overview.md) - [Application-Specific Blockchains](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/intro/why-app-specific.md) - [Blockchain Architecture](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/intro/sdk-app-architecture.md): At its core, a blockchain is a replicated deterministic state machine. - [Main Components of the Cosmos SDK](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/intro/sdk-design.md) - [Anatomy of a Cosmos SDK Application](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/beginner/app-anatomy.md) - [Transaction Lifecycle](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/beginner/tx-lifecycle.md) - [Query Lifecycle](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/beginner/query-lifecycle.md) - [Accounts](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/beginner/accounts.md) - [Gas and Fees](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/beginner/gas-fees.md) - [BaseApp](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/baseapp.md) - [Transactions](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/transactions.md) - [Context](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/context.md) - [Node Client (Daemon)](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/node.md) - [Store](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/store.md) - [Encoding](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/encoding.md) - [gRPC, REST, and CometBFT Endpoints](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/grpc_rest.md) - [Command-Line Interface](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/cli.md) - [Events](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/events.md) - [Telemetry](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/telemetry.md) - [Object-Capability Model](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/ocap.md): When thinking about security, it is good to start with a specific threat model. Our threat model is the following: - [RunTx recovery middleware](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/runtx_middleware.md) - [Cosmos Blockchain Simulator](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/simulation.md): The Cosmos SDK offers a full fledged simulation framework to fuzz test every message defined by a module. - [Protobuf Documentation](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/proto-docs.md): See Cosmos SDK Buf Proto-docs - [In-Place Store Migrations](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/upgrade.md) - [Configuration](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/config.md): This documentation refers to the app.toml, if you'd like to read about the config.toml please visit CometBFT docs. - [AutoCLI](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/learn/advanced/autocli.md) - [Build](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build.md): Version: v0.53 - [Overview of app.go](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-apps/app-go.md): This section is intended to provide an overview of the SimApp app.go file and is still a work in progress. For now please instead read the tutorials for a deep dive on how to build a chain. - [What is runtime?](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-apps/runtime.md): The runtime package in the Cosmos SDK provides a flexible framework for configuring and managing blockchain applications. It serves as the foundation for creating modular blockchain applications using a declarative configuration approach. - [Overview of app_di.go](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-apps/app-go-di.md) - [Application Mempool](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-apps/app-mempool.md) - [Application Upgrade](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-apps/app-upgrade.md) - [Vote Extensions](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-apps/vote-extensions.md) - [Application Testnets](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-apps/app-testnet.md): Building an application is complicated and requires a lot of testing. The Cosmos SDK provides a way to test your application in a real-world environment: a testnet. - [Introduction to Cosmos SDK Modules](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/intro.md) - [Module Manager](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/module-manager.md) - [Messages and Queries](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/messages-and-queries.md) - [Msg Services](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/msg-services.md) - [Query Services](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/query-services.md) - [ProtocolBuffer Annotations](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/protobuf-annotations.md): This document explains the various protobuf scalars that have been added to make working with protobuf easier for Cosmos SDK application developers - [BeginBlocker and EndBlocker](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/beginblock-endblock.md) - [Keepers](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/keeper.md) - [Invariants](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/invariants.md) - [Module Genesis](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/genesis.md) - [Module Interfaces](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/module-interfaces.md) - [Recommended Folder Structure](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/structure.md) - [Errors](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/errors.md) - [Upgrading Modules](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/upgrade.md) - [Module Simulation](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/simulator.md) - [Modules depinject-ready](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/depinject.md) - [Testing](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/testing.md) - [PreBlocker](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/building-modules/preblock.md) - [Introduction](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/abci/introduction.md): ABCI, Application Blockchain Interface is the interface between CometBFT and the application. More information about ABCI can be found here. CometBFT version 0.38 included a new version of ABCI (called ABCI 2.0) which added several new methods. - [Prepare Proposal](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/abci/prepare-proposal.md) - [Process Proposal](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/abci/process-proposal.md) - [Vote Extensions](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/abci/vote-extensions.md) - [CheckTx](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/abci/checktx.md): CheckTx is called by the BaseApp when comet receives a transaction from a client, over the p2p network or RPC. The CheckTx method is responsible for validating the transaction and returning an error if the transaction is invalid. - [List of Modules](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/modules.md): Here are some production-grade modules that can be used in Cosmos SDK applications, along with their respective documentation.: - [x/auth](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/auth/auth.md): This document specifies the auth module of the Cosmos SDK. - [x/auth/vesting](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/auth/vesting.md) - [x/auth/tx](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/auth/tx.md) - [x/authz](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/authz/README.md) - [x/bank](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/bank/README.md): This document specifies the bank module of the Cosmos SDK. - [x/consensus](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/consensus/README.md): Functionality to modify CometBFT's ABCI consensus params. - [x/crisis](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/crisis/README.md): NOTE: x/crisis is deprecated as of Cosmos SDK v0.53 and will be removed in the next release. - [x/distribution](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/distribution/README.md) - [x/epochs](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/epochs/README.md) - [x/evidence](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/evidence/README.md): Concepts State Messages Events Parameters BeginBlock Client CLI REST gRPC - [x/feegrant](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/feegrant/README.md): This document specifies the fee grant module. For the full ADR, please see Fee Grant ADR-029. - [x/gov](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/gov/README.md): This paper specifies the Governance module of the Cosmos SDK, which was first described in the Cosmos Whitepaper in June 2016. - [x/group](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/group/README.md): The following documents specify the group module. - [x/mint](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/mint/README.md): The x/mint module handles the regular minting of new tokens in a configurable manner. - [x/nft](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/nft/README.md): ## Abstract - [x/params](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/params/README.md): NOTE: x/params is deprecated as of Cosmos SDK v0.53 and will be removed in the next release. - [x/protocolpool](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/protocolpool/README.md) - [x/slashing](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/slashing/README.md): This section specifies the slashing module of the Cosmos SDK, which implements functionality first outlined in the Cosmos Whitepaper in June 2016. - [x/staking](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/staking/README.md): This paper specifies the Staking module of the Cosmos SDK that was first described in the Cosmos Whitepaper in June 2016. - [x/upgrade](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/upgrade/README.md) - [x/circuit](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/circuit/README.md) - [x/genutil](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/modules/genutil/README.md): The genutil package contains a variety of genesis utility functionalities for usage within a blockchain application. Namely: - [SDK Migrations](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/migrations/intro.md) - [Upgrade Reference](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/migrations/upgrade-reference.md): This document provides a quick reference for the upgrades from v0.50.x to v0.53.x of Cosmos SDK. - [Upgrade Guide](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/migrations/upgrade-guide.md): This document provides a full guide for upgrading a Cosmos SDK chain from v0.50.x to v0.53.x. - [Packages](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/packages.md): Version: v0.53 - [Depinject](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/packages/depinject.md) - [Collections](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/packages/collections.md): Collections is a library meant to simplify the experience with respect to module state handling. - [Tools](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/tooling.md): Version: v0.53 - [Protocol Buffers](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/tooling/protobuf.md): It is known that Cosmos SDK uses protocol buffers extensively, this document is meant to provide a guide on how it is used in the cosmos-sdk. - [Cosmovisor](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/tooling/cosmovisor.md) - [Confix](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/tooling/confix.md): Confix is a configuration management tool that allows you to manage your configuration via CLI. - [Architecture Decision Records (ADR)](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/README.md): This is a location to record all high-level architecture decisions in the Cosmos-SDK. - [ADR Creation Process](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/PROCESS.md) - [Adr template](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-template.md) - [ADR 002: SDK Documentation Structure](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-002-docs-structure.md): There is a need for a scalable structure of the Cosmos SDK documentation. Current documentation includes a lot of non-related Cosmos SDK material, is difficult to maintain and hard to follow as a user. - [ADR 3: Dynamic Capability Store](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-003-dynamic-capability-store.md): 12 December 2019: Initial version 02 April 2020: Memory Store Revisions - [ADR 004: Split Denomination Keys](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-004-split-denomination-keys.md): 2020-01-08: Initial version 2020-01-09: Alterations to handle vesting accounts 2020-01-14: Updates from review feedback 2020-01-30: Updates from implementation - [ADR 006: Secret Store Replacement](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-006-secret-store-replacement.md): July 29th, 2019: Initial draft September 11th, 2019: Work has started November 4th: Cosmos SDK changes merged in November 18th: Gaia changes merged in - [ADR 007: Specialization Groups](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-007-specialization-groups.md): 2019 Jul 31: Initial Draft - [ADR 008: Decentralized Computer Emergency Response Team (dCERT) Group](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-008-dCERT-group.md): 2019 Jul 31: Initial Draft - [ADR 009: Evidence Module](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-009-evidence-module.md): 2019 July 31: Initial draft 2019 October 24: Initial implementation - [ADR 010: Modular AnteHandler](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-010-modular-antehandler.md): 2019 Aug 31: Initial draft 2021 Sep 14: Superseded by ADR-045 - [ADR 011: Generalize Genesis Accounts](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-011-generalize-genesis-accounts.md): 2019-08-30: initial draft - [ADR 012: State Accessors](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-012-state-accessors.md): 2019 Sep 04: Initial draft - [ADR 013: Observability](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-013-metrics.md): 20-01-2020: Initial Draft - [ADR 14: Proportional Slashing](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-014-proportional-slashing.md): 2019-10-15: Initial draft 2020-05-25: Removed correlation root slashing 2020-07-01: Updated to include S-curve function instead of linear - [ADR 016: Validator Consensus Key Rotation](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-016-validator-consensus-key-rotation.md): 2019 Oct 23: Initial draft 2019 Nov 28: Add key rotation fee - [ADR 17: Historical Header Module](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-017-historical-header-module.md): 26 November 2019: Start of first version 2 December 2019: Final draft of first version - [ADR 18: Extendable Voting Periods](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-018-extendable-voting-period.md): 1 January 2020: Start of first version - [ADR 019: Protocol Buffer State Encoding](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-019-protobuf-state-encoding.md) - [ADR 020: Protocol Buffer Transaction Encoding](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-020-protobuf-transaction-encoding.md) - [ADR 021: Protocol Buffer Query Encoding](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-021-protobuf-query-encoding.md): 2020 March 27: Initial Draft - [ADR 022: Custom BaseApp panic handling](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-022-custom-panic-handling.md): 2020 Apr 24: Initial Draft 2021 Sep 14: Superseded by ADR-045 - [ADR 023: Protocol Buffer Naming and Versioning Conventions](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-023-protobuf-naming.md): 2020 April 27: Initial Draft 2020 August 5: Update guidelines - [ADR 024: Coin Metadata](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-024-coin-metadata.md): 05/19/2020: Initial draft - [ADR 027: Deterministic Protobuf Serialization](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-027-deterministic-protobuf-serialization.md): 2020-08-07: Initial Draft 2020-09-01: Further clarify rules - [ADR 028: Public Key Addresses](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-028-public-key-addresses.md): 2020/08/18: Initial version 2021/01/15: Analysis and algorithm update - [ADR 029: Fee Grant Module](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-029-fee-grant-module.md): 2020/08/18: Initial Draft 2021/05/05: Removed height based expiration support and simplified naming. - [ADR 030: Authorization Module](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-030-authz-module.md) - [ADR 031: Protobuf Msg Services](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-031-msg-service.md): 2020-10-05: Initial Draft 2021-04-21: Remove ServiceMsgs to follow Protobuf Any's spec, see #9063. - [ADR 032: Typed Events](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-032-typed-events.md): 28-Sept-2020: Initial Draft - [ADR 033: Protobuf-based Inter-Module Communication](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-033-protobuf-inter-module-comm.md): 2020-10-05: Initial Draft - [ADR 034: Account Rekeying](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-034-account-rekeying.md): 30-09-2020: Initial Draft - [ADR 035: Rosetta API Support](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-035-rosetta-api-support.md): Jonathan Gimeno (@jgimeno) David Grierson (@senormonito) Alessio Treglia (@alessio) Frojdy Dymylja (@fdymylja) - [ADR 036: Arbitrary Message Signature Specification](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-036-arbitrary-signature.md): 28/10/2020 - Initial draft - [ADR 037: Governance split votes](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-037-gov-split-vote.md): 2020/10/28: Intial draft - [ADR 038: KVStore state listening](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-038-state-listening.md) - [ADR 039: Epoched Staking](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-039-epoched-staking.md): 10-Feb-2021: Initial Draft - [ADR 040: Storage and SMT State Commitments](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-040-storage-and-smt-state-commitments.md): 2020-01-15: Draft - [ADR 041: In-Place Store Migrations](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-041-in-place-store-migrations.md): 17.02.2021: Initial Draft - [ADR 042: Group Module](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-042-group-module.md): 2020/04/09: Initial Draft - [ADR 43: NFT Module](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-043-nft-module.md): 2021-05-01: Initial Draft 2021-07-02: Review updates 2022-06-15: Add batch operation 2022-11-11: Remove strict validation of classID and tokenID - [ADR 044: Guidelines for Updating Protobuf Definitions](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-044-protobuf-updates-guidelines.md): 28.06.2021: Initial Draft 02.12.2021: Add Since: comment for new fields 21.07.2022: Remove the rule of no new Msg in the same proto version. - [Adr 045 check delivertx middlewares](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-045-check-delivertx-middlewares.md): 20.08.2021: Initial draft. 07.12.2021: Update tx.Handler interface (\#10693). 17.05.2022: ADR is abandoned, as middlewares are deemed too hard to reason about. - [ADR 046: Module Params](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-046-module-params.md): Sep 22, 2021: Initial Draft - [ADR 047: Extend Upgrade Plan](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-047-extend-upgrade-plan.md): Nov, 23, 2021: Initial Draft May, 16, 2023: Proposal ABANDONED. prerun and postrun are not necessary anymore and adding the artifacts brings minor benefits. - [ADR 048: Multi Tire Gas Price System](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-048-consensus-fees.md): Dec 1, 2021: Initial Draft - [ADR 049: State Sync Hooks](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-049-state-sync-hooks.md): Jan 19, 2022: Initial Draft Apr 29, 2022: Safer extension snapshotter interface - [ADR 050: SIGN_MODE_TEXTUAL: Annex 1 Value Renderers](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-050-sign-mode-textual-annex1.md) - [ADR 050: SIGN_MODE_TEXTUAL: Annex 2 XXX](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-050-sign-mode-textual-annex2.md): Oct 3, 2022: Initial Draft - [ADR 050: SIGN_MODE_TEXTUAL](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-050-sign-mode-textual.md) - [ADR 053: Go Module Refactoring](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-053-go-module-refactoring.md): 2022-04-27: First Draft - [ADR 054: Semver Compatible SDK Modules](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-054-semver-compatible-modules.md): 2022-04-27: First draft - [ADR 055: ORM](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-055-orm.md): 2022-04-27: First draft - [ADR 057: App Wiring](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-057-app-wiring.md): 2022-05-04: Initial Draft 2022-08-19: Updates - [ADR 058: Auto-Generated CLI](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-058-auto-generated-cli.md): 2022-05-04: Initial Draft - [ADR 059: Test Scopes](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-059-test-scopes.md): 2022-08-02: Initial Draft 2023-03-02: Add precision for integration tests 2023-03-23: Add precision for E2E tests - [ADR 60: ABCI 1.0 Integration (Phase I)](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-060-abci-1.0.md): 2022-08-10: Initial Draft (@alexanderbez, @tac0turtle) Nov 12, 2022: Update PrepareProposal and ProcessProposal semantics per the initial implementation PR (@alexanderbez) - [ADR ADR-061: Liquid Staking](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-061-liquid-staking.md): 2022-09-10: Initial Draft (@zmanian) - [ADR 062: Collections, a simplified storage layer for cosmos-sdk modules.](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-062-collections-state-layer.md): 30/11/2022: PROPOSED - [ADR 063: Core Module API](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-063-core-module-api.md): 2022-08-18 First Draft 2022-12-08 First Draft 2023-01-24 Updates - [ADR 64: ABCI 2.0 Integration (Phase II)](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-064-abci-2.0.md) - [ADR-065: Store V2](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-065-store-v2.md): Feb 14, 2023: Initial Draft (@alexanderbez) - [ADR 068: Preblock](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-068-preblock.md): Sept 13, 2023: Initial Draft - [ADR 070: Unordered Transactions](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-070-unordered-account.md) - [Cosmos SDK Transaction Malleability Risk Review and Recommendations](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/architecture/adr-076-tx-malleability.md): 2025-03-10: Initial draft (@aaronc) - [Requests for Comments](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/rfc.md): Version: v0.53 - [RFC Creation Process](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/rfc/PROCESS.md) - [RFC 001: Transaction Validation](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/rfc/rfc-001-tx-validation.md): 2023-03-12: Proposed - [Rfc template](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/rfc/rfc-template.md) - [Specifications](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/spec.md): Version: v0.53 - [Specification of Modules](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/spec/SPEC_MODULE.md): This file intends to outline the common structure for specifications within this directory. - [What is an SDK standard?](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/spec/SPEC_STANDARD.md) - [Addresses spec](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/spec/addresses/addresses.md) - [Bech32 on Cosmos](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/spec/addresses/bech32.md) - [Store](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/spec/store/store.md) - [Inter-block Cache](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/build/spec/store/interblock-cache.md) - [User Guides](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/user.md): Version: v0.53 - [Setting up the keyring](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/user/run-node/keyring.md) - [Running a Node](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/user/run-node/run-node.md) - [Interacting with the Node](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/user/run-node/interact-node.md) - [Generating, Signing and Broadcasting Transactions](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/user/run-node/txs.md) - [Running a Testnet](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/user/run-node/run-testnet.md) - [Running in Production](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/user/run-node/run-production.md) - [Tutorials](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/tutorials.md): Version: v0.53 - [Getting Started](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/tutorials/vote-extensions/auction-frontrunning/getting-started.md): - Getting Started - Understanding Front-Running - Mitigating Front-running with Vote Extensions - Demo of Mitigating Front-Running - [Understanding Front-Running and more](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/tutorials/vote-extensions/auction-frontrunning/understanding-frontrunning.md): Blockchain technology is vulnerable to practices that can affect the fairness and security of the network. Two such practices are front-running and Maximal Extractable Value (MEV), which are important for blockchain participants to understand. - [Mitigating Front-running with Vote Extensions](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/tutorials/vote-extensions/auction-frontrunning/mitigating-front-running-with-vote-extensions.md): Prerequisites Implementing Structs for Vote Extensions Implementing Handlers and Configuring Handlers - [Mitigating Front-running with Vote Extensions](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/tutorials/vote-extensions/auction-frontrunning/mitigating-front-running-with-vote-extesions.md): - Prerequisites - Implementing Structs for Vote Extensions - Implementing Handlers and Configuring Handlers - [Demo of Mitigating Front-Running with Vote Extensions](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/tutorials/vote-extensions/auction-frontrunning/demo-of-mitigating-front-running.md) - [Getting Started](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/tutorials/vote-extensions/oracle/getting-started.md): What is an Oracle? Implementing Vote Extensions Testing the Oracle Module - [What is an Oracle?](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/tutorials/vote-extensions/oracle/what-is-an-oracle.md) - [Implementing Vote Extensions](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/tutorials/vote-extensions/oracle/implementing-vote-extensions.md): First we’ll create the OracleVoteExtension struct, this is the object that will be marshaled as bytes and signed by the validator. - [Testing the Oracle Module](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/tutorials/vote-extensions/oracle/testing-oracle.md): We will guide you through the process of testing the Oracle module in your application. The Oracle module uses vote extensions to provide current price data. If you would like to see the complete working oracle module please see here. - [Building a Transaction](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/sdk/v0.53/tutorials/transactions/building-a-transaction.md): These are the steps to build, sign and broadcast a transaction using v2 semantics. - [IBC-Go Documentation](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/intro.md): Welcome to the documentation for IBC-Go, the Golang implementation of the Inter-Blockchain Communication Protocol! - [Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/overview.md) - [Best Practices](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/best-practices.md) - [Integration](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/integration.md) - [Permissioning](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/permissioning.md) - [Relayer](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/relayer.md) - [IBC Applications](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/apps/apps.md) - [Bind ports](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/apps/bindports.md) - [Implement IBCModule interface and callbacks](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/apps/ibcmodule.md) - [IBC v2 Applications](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/apps/ibcv2apps.md) - [Keeper](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/apps/keeper.md) - [Define packets and acks](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/apps/packets_acks.md) - [Routing](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/apps/routing.md) - [Custom Address Codec](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/apps/address-codec.md) - [Create a custom IBC middleware](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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. - [IBC middleware](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/middleware/overview.md) - [IBC Client Developer Guide to Upgrades](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/upgrades/developer-guide.md) - [Genesis Restart Upgrades](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/upgrades/genesis-restart.md) - [Upgrading IBC Chains Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/ibc/upgrades/quick-guide.md) - [Migration.template](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/migrations/migration.template.md): This guide provides instructions for migrating to a new version of ibc-go. - [IBC-Go v8.1 to v10](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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. - [SDK v0.43 to IBC-Go v1](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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. - [Governance Proposals](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/proposals.md) - [Client State interface](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/developer-guide/client-state.md): Learn how to implement the ClientState interface. - [Consensus State interface](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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). - [Light Client Module interface](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/developer-guide/light-client-module.md): Status must return the status of the client. - [Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/developer-guide/overview.md) - [Existence/Non-Existence Proofs](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/developer-guide/proposals.md) - [Setup](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/developer-guide/setup.md) - [Handling Updates and Misbehaviour](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/developer-guide/upgrades.md) - [ClientState](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/localhost/client-state.md): The 09-localhost client is stateless and has no types. - [Connection](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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. - [Integration](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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. - [Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/localhost/overview.md) - [State Verification](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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. - [Concepts](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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. - [Solomachine](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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. - [State](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/solomachine/state_transitions.md): Successful state verification by a solo machine light client will result in: - [Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/tendermint/overview.md) - [Client](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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: - [Concepts](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/wasm/concepts.md): Learn about the differences between a proxy light client and a Wasm light client. - [Contracts](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/wasm/contracts.md): Learn about the expected behaviour of Wasm light client contracts and the between with 08-wasm. - [Events](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/wasm/events.md): The 08-wasm module emits the following events: - [Governance](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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. - [Integration](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/wasm/messages.md): Uploading the Wasm light client contract to the Wasm VM storage is achieved by means of MsgStoreCode: - [Migrations](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/wasm/migrations.md): This guide provides instructions for migrating 08-wasm versions. - [Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/light-clients/wasm/overview.md): Learn about the 08-wasm light client proxy module. - [Active Channels](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/apps/interchain-accounts/active-channels.md): The Interchain Accounts module uses either ORDERED or UNORDERED channels. - [Authentication Modules](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/apps/interchain-accounts/auth-modules.md) - [Client](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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: - [Development Use Cases](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/apps/interchain-accounts/development.md) - [Integration](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/apps/interchain-accounts/integration.md) - [Messages](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/apps/interchain-accounts/messages.md): An Interchain Accounts channel handshake can be initiated using MsgRegisterInterchainAccount: - [Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/apps/interchain-accounts/overview.md) - [Parameters](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/apps/interchain-accounts/parameters.md): The Interchain Accounts module contains the following on-chain parameters, logically separated for each distinct submodule: - [Transaction Encoding](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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. - [Authentication Modules](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/apps/interchain-accounts/legacy/auth-modules.md): This document is deprecated and will be removed in future releases. - [Integration](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/apps/interchain-accounts/legacy/integration.md): This document is deprecated and will be removed in future releases. - [Keeper API](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/apps/interchain-accounts/legacy/keeper-api.md): This document is deprecated and will be removed in future releases. - [IBC v2 Transfer](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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. - [Authorizations](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/apps/transfer/authorizations.md) - [Client](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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: - [Events](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/apps/transfer/events.md) - [Messages](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/apps/transfer/messages.md): A fungible token cross chain transfer is achieved by using the MsgTransfer: - [Metrics](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/apps/transfer/metrics.md): The IBC transfer application module exposes the following set of metrics. - [Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/apps/transfer/overview.md) - [Params](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/apps/transfer/params.md): The IBC transfer application module contains the following parameters: - [State](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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: - [Callbacks with IBC v2](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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. - [End Users](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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: - [Events](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/middleware/callbacks/events.md): An overview of all events related to the callbacks middleware. There are two types of events, "ibcsrccallback" and "ibcdestcallback". - [Gas Management](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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: - [Integration](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/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://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/middleware/callbacks/interfaces.md) - [Overview](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/middleware/callbacks/overview.md): Learn about what the Callbacks Middleware is, and how to build custom modules that utilize the Callbacks Middleware functionality - [Release Notes](https://cosmos-docs-selective-ibc-merge.mintlify.site/docs/ibc/v10.1.x/changelog/release-notes.md): Release history and changelog for Cosmos IBC