{"id":13562869,"url":"https://github.com/cosmos/ibc-apps","last_synced_at":"2025-04-04T15:09:37.974Z","repository":{"id":152310442,"uuid":"610943327","full_name":"cosmos/ibc-apps","owner":"cosmos","description":"IBC applications and middleware for Cosmos SDK chains.","archived":false,"fork":false,"pushed_at":"2024-08-21T14:42:41.000Z","size":50453,"stargazers_count":82,"open_issues_count":7,"forks_count":62,"subscribers_count":13,"default_branch":"main","last_synced_at":"2024-09-01T11:42:06.725Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cosmos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-07T19:47:51.000Z","updated_at":"2024-08-20T21:55:31.000Z","dependencies_parsed_at":"2023-09-27T00:47:54.713Z","dependency_job_id":"76853280-4804-444d-9460-09ced54c50c5","html_url":"https://github.com/cosmos/ibc-apps","commit_stats":null,"previous_names":[],"tags_count":53,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosmos%2Fibc-apps","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosmos%2Fibc-apps/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosmos%2Fibc-apps/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosmos%2Fibc-apps/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cosmos","download_url":"https://codeload.github.com/cosmos/ibc-apps/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247198461,"owners_count":20900080,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T13:01:13.006Z","updated_at":"2025-04-04T15:09:37.953Z","avatar_url":"https://github.com/cosmos.png","language":"Go","readme":"# ibc-apps\n\n![IBC-APPS Header](ibc-apps.png)\n\nIBC applications and middleware for Cosmos SDK blockchains\n\n🌌 Why have an ibc-apps repo?\n================================\n\nEarly IBC work started in the [ibc-go](https://github.com/cosmos/ibc-go) repo. As the repo grew, the need arose to parallelize the work among many teams.\n\nThe ibc-apps repo is meant to be an easily discoverable, navigable, central place for modules and middleware.\n\n🌌🌌 Who's it for?\n===================\n\nIBC-Apps is for:\n- _Core **ibc-go** contributors_; it frees them from having to maintain IBC Apps,\n\n- _Publishers of **ibc apps**_, so their apps can be easily found, and\n\n- _Everyone who uses IBC_ and wants to benefit from the full range of its capabilities.\n\n\n🌌🌌🌌 What is it?\n==================\n\n### What is IBC?\n\nThe Inter-Blockchain Communication Protocol (IBC) is a protocol to handle the authentication and transport of data between two blockchains. IBC requires a minimal set of functions, specified in the [Interchain Standards](https://github.com/cosmos/ibc/tree/main/spec/ics-001-ics-standard) (ICS). These specifications do not limit the network topology or consensus algorithm, so IBC can be used with a wide range of blockchains or state machines. The IBC protocol provides a permissionless way for relaying data packets between blockchains, unlike most trusted bridging technologies. The security of IBC reduces to the security of the participating chains.\n\nIBC solves a widespread problem: cross-chain communication. This problem exists on public blockchains when exchanges wish to perform swaps. The problem arises early in the case of application-specific blockchains, where every asset is likely to emerge from its own purpose-built chain. Cross-chain communication is also a challenge in the world of private blockchains, in cases where communication with a public chain or other private chains is desirable.\n\nCross-chain communication between application-specific blockchains in Cosmos creates the potential for high horizontal scalability with transaction finality. These design features provide convincing solutions to well-known problems that plague other platforms, such as transaction costs, network capacity, and transaction confirmation finality.\n\n\n### What is an IBC App?\n\nIBC apps can be split into two categories - modules and middleware.\n\nIBC Modules are self-contained applications that enable packets to be sent to and received from other IBC-enabled chains.  IBC application developers do not need to concern themselves with the low-level details of clients, connections, and proof verification.\n\nIBC Middleware are self-contained modules that sit between core IBC and an underlying IBC application.  This allows developers to customize lower-level packet handling.  Multiple middleware modules can be chained together.\n\n\n🌌🌌🌌🌌 How to Use this repo\n=============================\n\nIf you'd like to include software in this repo, please see [contributing](CONTRIBUTING.md).\n\n🌌🌌🌌🌌🌌 Bonus Content\n=============================\n\n## Maintained Branches\n\n|                          **Branch Name**                         | **IBC-Go** |\n|:----------------------------------------------------------------:|:----------:|\n|            [main](https://github.com/cosmos/ibc-apps)            |     v8     |\n| [release/v7](https://github.com/cosmos/ibc-apps/tree/release/v7) |     v7     |\n| [release/v6](https://github.com/cosmos/ibc-apps/tree/release/v6) |     v6     |\n\n\n## List of Apps\n\n| Name | Type | Example | Stakeholders | Description |\n| ---- | ---- | ------- | ------------ | ----------- |\n| [Async Interchain Query](./modules/async-icq/) | Module | Link | [Strangelove](https://github.com/strangelove-ventures/) | Interchain Queries enable blockchains to query the state of an account on another chain without the need for ICA auth. |\n| [IBC Hooks](./modules/ibc-hooks/) | Module | [Link](./modules/ibc-hooks/simapp/app.go) | [Osmosis](https://github.com/osmosis-labs) | The IBC hooks module is an IBC middleware that enables ICS-20 token transfers to initiate contract calls. |\n| [Packet Forward Middleware](./middleware/packet-forward-middleware) | Middleware | Link | [Strangelove](https://github.com/strangelove-ventures/) | Middleware for forwarding IBC packets. |\n| [Rate Limit](./modules/rate-limiting/) | Module | Link | [Stride](https://github.com/Stride-Labs/) | Module for rate limiting ingress/egress of packets. |\n\n## Ecosystem Apps\n\nModules and middleware developed by other awesome teams in the ecosystem:\n\n| Name | Type | Stakeholders | Description |\n| ---- | ---- | ------------ | ----------- |\n| [Interchain KV Queries](https://github.com/ingenuity-build/interchain-queries) | Module | [Ingenuity](https://github.com/ingenuity-build) | An application that enables on chain querying of another IBC enabled chains state without the need for the chain being queried to implement the application. |\n| [query](https://github.com/defund-labs/interquery) | Module | [Defund Labs](https://github.com/defund-labs) | An application that enables on chain querying of another IBC enabled chains state without the need for the chain being queried to implement the application. Similar to the interchain-queries application in the row above but without callbacks. |\n| [NFT Transfer (ICS 721)](https://github.com/bianjieai/nft-transfer) | Module | [Bianjieai](https://github.com/bianjieai) | An application that enables cross chain NFT transfer. |\n| \u003c!-- markdown-link-check-disable-line --\u003e [CosmWasm NFT Transfer (ICS 721)](https://github.com/public-awesome/cw-ics721) | Wasm Contract | [Public Awesome (Stargaze)](https://github.com/public-awesome), [Ark Protocol](https://x.com/ArkProtocol) | An application that enables cross chain NFT transfer. CosmWasm implementation of the above, written in Rust. |\n| [recovery](https://github.com/evmos/evmos/tree/v15.0.0/x/recovery) | Middleware | [Evmos](https://github.com/evmos) | Middleware enabling the recovery of tokens sent to unsupported addresses. |\n| [cw-ibc-rate-limit](https://github.com/osmosis-labs/osmosis/tree/main/x/ibc-rate-limit) | Middleware | [Osmosis Labs](https://github.com/osmosis-labs) | Middleware that limits the in or out flow of an asset in a certain time period to minimise the risks of cross chain token transfers. This is implemented as a middleware wrapping ICS20 with the rate limiting logic implemented by CosmWasm contracts. |\n| [Interchain Atomic Swap](https://github.com/sideprotocol/mesh-liquidity-wasm/tree/v0.1.0/contracts/ics100) | Wasm Contract | [Side Labs](https://github.com/sideprotocol) | An application that facilitates inter-blockchain peer-to-peer asset swaps. |\n| [Interchain Liquidity](https://github.com/sideprotocol/ibcswap-wasm/tree/main/contracts/ics101) | Wasm Contract | [Side Labs](https://github.com/sideprotocol) | An application that splits the state of a weighted liquidity pool between two chains, enabling inter-blockchain automated asset swaps. |\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcosmos%2Fibc-apps","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcosmos%2Fibc-apps","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcosmos%2Fibc-apps/lists"}