- Crypto / Web3
- DAO / Community
- Account Abstraction
- Infra / API
- Creator Economy
- Crosschain Infrastructure
Modular interchain application framework and on-chain infrastructure for the next generation of CosmWasm applications.
TL;DR: Abstract builds developer tooling for modular CosmWasm application development and offers an user-focused interchain app platform.
Non-technical pitch of Abstract's developer tooling at Gateway to Cosmos 2022.
Abstract's goal is to enable developers to build more powerful interchain dApps through collaboration, convention, and modularity. We provide a full-stack CosmWasm development experience, including smart-contract, middleware, and frontend tooling. The Abstract SDK streamlines the development of interchain applications with a powerful and easy-to-use modular application framework whose capabilities are fully realized via account-abstraction and our on-chain application management infrastructure.
To learn more about our framework and its full vision,, please check out our official documentation.
The Cosmos SDK changes the game for blockchain-based applications. It allows for scalable development and deployment of application-specific chains by providing a well-defined framework emphasizing modularity. The "appchains" coincide with the fat application thesis, which states that the value lies in the applications themselves rather than in a shared, fat protocol like Ethereum or Solana. IBC enables interoperability between these appchains, and CosmWasm allows for the programmability of cross-chain interactions through a secure and efficient smart-contract environment. "inter-chain"
It is difficult and slow to build CosmWasm applications. Teams start from scratch, and waste valuable time integrating primitives such as DEXes, money markets, oracles, and other DeFi building blocks. The fat app thesis encourages teams to drive value to their applications, consequently creating an environment of siloed development. This lack of inter-team collaboration hinders innovation and experimentation, and is partially why the CosmWasm ecosystem is relatively immature compared to the Ethereum and Solana ecosystems.
Secondly, while CosmWasm application updates ("migrations") don't require a replacement binary like chain upgrades, updates remain highly manual and dangerous, especially when multiple contracts are involved. This leaves user funds and team reputations at risk.
Finally, developing a cross-chain application requires deep prerequisite knowledge of IBC, proper handling of callbacks, error cases, and knowledge of interchain smart-contract security. Even for an experienced IBC developer, cross-chain interactions require new IBC ports, as well as channel and asset identification on both sides.
We bring the modularity and scalability of the Cosmos SDK to CosmWasm applications with the Abstract SDK, our interchain application framework. The Abstract SDK is designed for organizations and individual developers to build composable distributed applications in a fast, secure, and cost-effective manner. We place an emphasis on standardization and modularity, congruent with well-studied smart-contract design patterns such as Ethereum's Diamond Proxy Pattern (EIP-2535) and Web2 microservices and customized to the extensive capabilities of CosmWasm.
The foundation for every Abstract application is an Abstract Account, a smart-contract wallet. Modules, the smart-contracts built using the SDK, isolate shared logic and extend the functionality of the Account. This transforms it into an application. Module version management is performed via a permissioned on-chain module registry, allowing for dynamic application upgrades with protections against incorrect migrations. Inter-team collaboration is incentivized because modules can be monetized, providing sustainable income for developers and rewarding continued maintenance. Complex logic can be imported rather than rewritten.
The Abstract SDK provides easily-understandable abstractions for local and cross-chain interactions over IBC. Via an on-chain name service, assets, chains, and other resources can be referenced by name, rather than their complex identifiers. Abstract Accounts (and applications) can create and execute upon multi-hop interchain outposts with our integration with Polytone, an interchain account standard.
Read about Abstract's origins here.
Our goal is to help realize the ideal of full user sovereignty in ushering in the next generation of interoperable applications. The interchain becomes ubiquitous not only via technical superiority, but via a thriving developer ↔ user economy, the most important multi-sided market in Web3.
Our team consists of 7 highly experienced Web3 software engineers, and both our founders are technical. Abstract's tooling has been in development for over 2 years.
Abstract's framework and on-chain infrastructure is open-source, chain-agnostic to any CosmWasm-enabled chain, and does not have a token.
A full technical overview of the Abstract platform
Below we'll go over the different components of the Abstract stack, servicing interchain developers.
Read more about Abstract Accounts here
Abstract’s application architecture is centered around our smart-contract wallet, coined an
Abstract Account. This serves as a secure vault for asset management and provides a base upon which modules can be installed, creating an application. Applications can be installed upon Accounts via sub-accounts. The Account is also responsible for cross-chain communications, handling creation of and communication with interchain Accounts.
This enables Account owners to "self-host" their applications on fully sovereign smart-contracts.
Read more about Abstract modules here.
A module in Abstract is a smart-contract that can be installed on an Abstract Account to extend its capabilities. Modules can be installed, removed, and configured by the Account’s owner, allowing for a high degree of customization. Additionally, modules can take on dependencies on other modules and securely interact with each other.
App modules are instantiated and owned by one Account.
ETF module allows the owner to manage the Account as an ETF. The module handles value calculation for deposits and withdrawals, and the owner manages the allocation.
Adapter modules serve as standard interfaces that facilitate communication between Accounts and various external services. They adapt a service to an interface.
DEX Adapter: Provides a standard interface for performing actions on DEXes.
CW-Staking Adapter Provides a standard interface for interacting with LP positions across Cosmos.
An example message sent to the Dex adapter. Notice the "dex" field and asset names, which are described further below in Abstract Name Service.
Developers using the Abstract SDK can interact with the following services via standardized interface through Abstract's adapter modules within minutes:
Two Abstract Accounts each have sovereign ETF modules, which can call the shared DEX adapter module, calling to dexes across IBC.
Registry of versioned contracts to their code ids and metadata. Allows developers to register and monetize their modules.
The ANS is a smart contract that stores the following data:
osmosis>osmo on Osmosis =>
osmosis>osmo on Juno =>
juno>dao on Juno =>
juno>dao on Osmosis =>
croncat/factory on Osmosis =>
osmosis on Juno =>
The Abstract SDK itself is the Rust-based CosmWasm framework with which developers write and test application modules. Applications using the SDK work seamlessly with the on-chain infrastructure. It provides common abstractions via traits for maximum ease-of-use and modularity.
All Abstract modules are easily testable using cw-orchestrator with out-of-the-box abstractions for Abstract Accounts and all other on-chain infrastructure.
IBC Capabilities (Pre-Release) Abstract Accounts can create single- and multi-hop outposts on IBC-enabled chains using Polytone, enabling cross-chain applications. Our on-chain IBC abstractions ensure that all actions are authenticated and relayed to the proper destinations, and allow for single-chain management of complex multi-chain infrastructure.
Typescript + React Developer SDK (Pre-Release) Abstract.JS provides comprehensive means for interacting with applications built using the Abstract SDK. It is also provider-agnostic, meaning that developers can use either Graz or Cosmos Kit in their frontend development. The design patterns used by Abstract.js are largely based on high-quality Ethereum packages such as wagmi and viem. It additionally provides code-generation plugins for ts-codegen for readable clients.
Technical video demonstration of the Abstract Console for modular development of CosmWasm applications. Highlights the module registry, object name service, Abstract Accounts, and application management.
The developer console allows teams to manage their applications built using Abstract. It provides GUIs for all on-chain infrastructure and Abstract Accounts. It also serves as the marketplace upon which devs can list and monetize their modules as described earlier.
Query the API here.
A chain-agnostic GraphQL API for accessing all of Abstract from anywhere. Supports custom configurations for any CosmWasm network with Abstract.
FortyTwo is the interchain's DeFi yield aggregator. It offers a single interface where users can manage their yield positions and understand their portfolios spread across any IBC-enabled chain.
One of FortyTwo's primary products is a dex-agnostic autocompounder, which allows for maximum yield on pools across IBC. This leverages Abstract's DEX and Staking adapters and scales to every CosmWasm-enabled chain.
Abstract is a platform for CosmWasm Developers, by CosmWasm Developers.
Focus on your business logic and not the bulls**t.
Abstract Chain Abstraction
We wish to give thanks to the open-source community and the many teams that we've worked with in improving CW-Orchestrator to make the development experience as amazing as possible, including (but not limited to):
@adair - Co-founder. Passionate about human collaboration, music, and democratizing data.
@CyberHoward - Co-founder & CTO, leading engineering at Abstract. Passionate about Rust and CosmWasm.
@Kayanski - cw-orchestrator Lead
@Buckram - Smart-contract and tooling engineer at Abstract