op-rs
kona
Rust

Monorepo for OP Stack Types, Components, and Services built in Rust.

Last updated Jun 11, 2026
289
Stars
213
Forks
179
Issues
0
Stars/day
Attention Score
91
Language breakdown
Rust 93.7%
Go 5.1%
Just 0.7%
Dockerfile 0.3%
HCL 0.1%
Shell 0.0%
Files click to expand
README

Kona

The Monorepo for OP Stack Types, Components, and Services built in Rust.

CI Codecov License Docs

What's Kona?OverviewMSRVContributingCreditsLicense

🚧 Important information

As of Jan 15th 2026, op-rs/kona has been transferred to the optimism monorepo. This repository has been archived in consequence.

The commit history was conserved. Thank you very much for contributing to op-rs/kona and see you in ethereum-optimism/optimism!

What's Kona?

Originally a suite of portable implementations of the OP Stack rollup state transition, Kona has been extended to be the monorepo for OP Stack types, components, and services built in Rust. Kona provides an ecosystem of extensible, low-level crates that compose into components and services required for the OP Stack.

The [docs][site] contains a more in-depth overview of the project, contributor guidelines, tutorials for getting started with building your own programs, and a reference for the libraries and tools provided by Kona.

Overview

[!NOTE]
>
Ethereum (Alloy) types modified for the OP Stack live in op-alloy.

Binaries

  • client: The bare-metal program that executes the state transition, to be run on a prover.
  • host: The host program that runs natively alongside the prover, serving as the [Preimage Oracle][g-preimage-oracle] server.
  • node: [WIP] A [Rollup Node][rollup-node-spec] implementation, backed by kona-derive. Supports flexible chain ID specification via --l2-chain-id using either numeric IDs (10) or chain names (optimism).
  • supervisor: [WIP] A [Supervisor][supervisor-spec] implementation.
Protocol
  • genesis: Genesis types for OP Stack chains.
  • protocol: Core protocol types used across OP Stack rust crates.
  • derive: nostd compatible implementation of the [derivation pipeline][g-derivation-pipeline].
  • driver: Stateful derivation pipeline driver.
  • interop: Core functionality and primitives for the Interop feature of the OP Stack.
  • registry: Rust bindings for the [superchain-registry][superchain-registry].
  • comp: Compression types for the OP Stack.
  • hardforks: Consensus layer hardfork types for the OP Stack including network upgrade transactions.
Proof
  • mpt: Utilities for interacting with the Merkle Patricia Trie in the client program.
  • executor: nostd stateless block executor for the [OP Stack][op-stack].
  • proof: High level OP Stack state transition proof SDK.
  • proof-interop: Extension of kona-proof with interop support.
  • preimage: High level interfaces to the [PreimageOracle][fpp-specs] ABI.
  • std-fpvm: Platform specific [Fault Proof VM][g-fault-proof-vm] kernel APIs.
  • std-fpvm-proc: Proc macro for [Fault Proof Program][fpp-specs] entrypoints.
Node
  • service: The OP Stack rollup node service.
  • engine: An extensible implementation of the [OP Stack][op-stack] rollup node engine client
  • rpc: OP Stack RPC types and extensions.
  • gossip: OP Stack P2P Networking - Gossip.
  • disc: OP Stack P2P Networking - Discovery.
  • peers: Networking Utilities ported from reth.
  • sources: Data source types and utilities for the kona-node.
Providers
  • providers-alloy: Provider implementations for kona-derive backed by [Alloy][alloy].
Utilities
  • serde: Serialization helpers.
  • cli: Standard CLI utilities, used across kona's binaries.
  • macros: Utility macros.

Proof

Built on top of these libraries, this repository also features a [proof program][fpp-specs] designed to deterministically execute the rollup state transition in order to verify an [L2 output root][g-output-root] from the L1 inputs it was [derived from][g-derivation-pipeline].

Kona's libraries were built with alternative backend support and extensibility in mind - the repository features a fault proof virtual machine backend for use in the governance-approved OP Stack, but it's portable across provers! Kona is also used by:

  • [op-succinct][op-succinct]
  • [kailua][kailua]
To build your own backend for kona, or build a new application on top of its libraries, see the SDK section of the docs.

MSRV

The current MSRV (minimum supported rust version) is 1.88.

The MSRV is not increased automatically, and will be updated only as part of a patch (pre-1.0) or minor (post-1.0) release.

Crate Releases

kona releases are done using the cargo-release crate. A detailed guide is available in ./RELEASES.md.

Contributing

kona is built by open source contributors like you, thank you for improving the project!

A [contributing guide][contributing] is available that sets guidelines for contributing.

Pull requests will not be merged unless CI passes, so please ensure that your contribution follows the linting rules and passes clippy.

Credits

kona is inspired by the work of several teams, namely [OP Labs][op-labs] and other contributors' work on the [Optimism monorepo][op-go-monorepo] and [BadBoiLabs][bad-boi-labs]'s work on [Cannon-rs][badboi-cannon-rs].

kona is also built on rust types in [alloy][alloy], [op-alloy][op-alloy], and [maili][maili].

License

Licensed under the MIT license.

[!NOTE]
>
Contributions intentionally submitted for inclusion in these crates by you
shall be licensed as above, without any additional terms or conditions.

[alloy]: https://github.com/alloy-rs/alloy [maili]: https://github.com/op-rs/maili [op-alloy]: https://github.com/alloy-rs/op-alloy [contributing]: https://rollup.yoga/intro/contributing [op-stack]: https://github.com/ethereum-optimism/optimism [superchain-registry]: https://github.com/ethereum-optimism/superchain-registry [op-go-monorepo]: https://github.com/ethereum-optimism/optimism/tree/develop [cannon]: https://github.com/ethereum-optimism/optimism/tree/develop/cannon [cannon-rs]: https://github.com/op-rs/cannon-rs [rollup-node-spec]: https://specs.optimism.io/protocol/rollup-node.html [supervisor-spec]: https://specs.optimism.io/interop/supervisor.html [badboi-cannon-rs]: https://github.com/BadBoiLabs/cannon-rs [asterisc]: https://github.com/ethereum-optimism/asterisc [fpp-specs]: https://specs.optimism.io/fault-proof/index.html [site]: https://rollup.yoga [op-succinct]: https://github.com/succinctlabs/op-succinct [kailua]: https://github.com/risc0/kailua [op-labs]: https://github.com/ethereum-optimism [bad-boi-labs]: https://github.com/BadBoiLabs [g-output-root]: https://specs.optimism.io/glossary.html#l2-output-root [g-derivation-pipeline]: https://specs.optimism.io/protocol/derivation.html#l2-chain-derivation-pipeline [g-fault-proof-vm]: https://specs.optimism.io/experimental/fault-proof/index.html#fault-proof-vm [g-preimage-oracle]: https://specs.optimism.io/fault-proof/index.html#pre-image-oracle

© 2026 GitRepoTrend · op-rs/kona · Updated daily from GitHub