We’re excited to announce the release of Monomer, a joint development by Nethermind and Polymer Labs. Monomer serves as a compatibility layer allowing Cosmos SDK applications to be deployed as Ethereum rollups on the OP Stack.
Ethereum’s rollup-centric roadmap has led to the proliferation of blockchains at Layer 2. Most aim to achieve some level of Ethereum equivalence. While this may be sufficient for many use cases, application-specific blockchains enable developers to deliver vertically-integrated user experiences at lower costs.
The Cosmos SDK is a framework for building application-specific blockchains. Applications built using the Cosmos SDK are composed of modules, many of which are available out-of-the box, allowing developers to easily build their own. For example, the widely-used IBC (Inter-Blockchain Communication) modules facilitate trust-minimized bridging.
By deploying a Cosmos SDK app on Ethereum, developers get the best of both worlds: direct access to Ethereum’s vast liquidity and user base, coupled with state-of-the-art app chain tooling in the Cosmos SDK.
The OP Stack is a set of independent components used to build rollups on Ethereum. Broadly speaking, the components are separated into consensus and execution layers. The consensus layer components control the execution layer’s fork choice via the Engine API.
From a user’s perspective, the execution layer is the interesting part. Many OP Stack rollups, such as Optimism and Base, use OP-Geth application as their execution layer. OP-Geth is a slightly modified version of go-ethereum, an Ethereum execution layer client.
Currently, most Cosmos SDK applications are deployed on top of CometBFT, an implementation of the Tendermint consensus algorithm. Unlike the OP Stack which uses the Engine API, CometBFT sends fork choice updates to the application using the Application BlockChain Interface (ABCI).
Monomer allows us to take any Cosmos SDK application and deploy it as the execution layer on the OP stack.
It can be thought of as a translator between the consensus layer that speaks the Engine API and the execution layer that understands the ABCI.
Monomer is designed to be simple and well-tested. We are rapidly working toward a production-ready release, which is aiming to support the Polymer chain as its first rollup.
The GitHub repository can be found here. Get in touch with us here if you’re interested in deploying a rollup using Monomer.