There are many different ways to build a Sovereign Rollup on Nomos. In this tutorial, we’ll focus on just one example: a Zero Knowledge (ZK) rollup that is compatible with the Ethereum Virtual Machine (EVM). The tutorial is based on a proof of concept Sovereign Rollup developed by the Nomos team in 2025, the complete code for which can be found here:
GitHub - logos-co/nomos-example-sovereign-rollup: EVM-based Nomos Sovereign Rollup
It is also helpful to refer to the Nomos node repository for details about Nomos packages used in this example. Each step in the tutorial will highlight relevant files from the Nomos repository to provide additional context.
The Sovereign ZK Rollup in this tutorial consists of three main components. Each component serves an independent role in the protocol, and together they interact with Nomos to keep the rollup running correctly. These components are:
To execute transactions, our Sovereign Rollup will proceed as follows:
This model is similar to the Sovereign ZK Rollup described in the Introduction[LINK], except that here the sequencer and prover roles are conceptually separated.
A Sovereign ZK Rollup on Nomos with sequencer and prover roles handled by the same party.
To make things simpler, the Sovereign Rollup you’ll be building will use Zeth as a ready-made way to generate proofs for EVM blocks. However, you’ll still need to implement some additional functionality for all three components. This tutorial will lead you through the steps necessary to build a functional Sovereign ZK Rollup. These steps are listed below: