The Based Stack is an open-source framework for deploying based rollups—a new class of Ethereum Layer 2 solutions that embrace Ethereum's core values of decentralization, neutrality, and credible neutrality.
Built by Spire Labs, the Based Stack makes it easy to spin up rollups with decentralized sequencing and shared security, while providing a smooth path to production-grade deployments. Also, based rollups/appchains built with the Based Stack can retain MEV, customize their execution environment, and integrate natively with decentralized preconfirmations for a lightning-fast UX.
A based rollup is a rollup that outsources block production to Ethereum, instead of relying on a centralized sequencer. This architecture enhances:
- Neutrality – No single actor controls transaction ordering.
- Security – Sequencing is settled on Ethereum, minimizing trust assumptions.
- Simplicity – Eliminates the need for bespoke validator sets or complex bridge contracts.
Based rollups inherit the liveness and censorship-resistance of Ethereum itself.
The Based Stack includes tools and contracts to support:
-
Decentralized Sequencing Markets A Dutch auction model determines who can propose blocks in a fair, permissionless way.
-
Election Tickets Winning sequencers receive election tickets that grant block production rights. These cannot be transferred and in future versions could be slashed for misbehavior.
-
MEV Compatibility Sequencers can capture MEV in a transparent and competitive environment, reducing centralization incentives.
-
L2 Infrastructure Templates Boilerplate configs and smart contracts for launching your own based rollup.
Alpha – Unstable. Contributions welcome!
We’re actively developing and testing core components.
Check out our CONTRIBUTING.md file for a detailed explanation of the contributing process for this repository. Make sure to use the Developer Quick Start to properly set up your development environment.
├── docs: A collection of documents including audits and post-mortems ├── op-batcher: L2-Batch Submitter, submits bundles of batches to L1 ├── op-bootnode: Standalone op-node discovery bootnode ├── op-chain-ops: State surgery utilities ├── op-challenger: Dispute game challenge agent ├── op-e2e: End-to-End testing of all bedrock components in Go ├── op-node: rollup consensus-layer client ├── op-preimage: Go bindings for Preimage Oracle ├── op-program: Fault proof program ├── op-proposer: L2-Output Submitter, submits proposals to L1 ├── op-service: Common codebase utilities ├── op-ufm: Simulations for monitoring end-to-end transaction latency ├── op-wheel: Database utilities ├── ops: Various operational packages ├── ops-bedrock: Bedrock devnet work ├── packages │ ├── contracts-bedrock: OP Stack smart contracts ├── proxyd: Configurable RPC request router and proxy ├── specs: Specs of the rollup starting at the Bedrock upgrade
All other files within this repository are licensed under the MIT License unless stated otherwise.