This is the principal Linea repository. It mainly includes the smart contracts covering Linea's core functions, the prover in charge of generating ZK proofs, the coordinator responsible for multiple orchestrations, and the Postman to execute bridge messages.
It serves developers by making the Linea tech stack open source under the Apache 2.0 and the MIT licenses.
Linea is a developer-ready layer 2 network scaling Ethereum. It's secured with a zero-knowledge rollup, built on lattice-based cryptography, and powered by Consensys.
Linea is compatible with the execution clients Besu or Geth. To run a full node, an execution client is paired with the consensus client Maru.
If you already have an understanding of the tech stack, use our Get Started guide.
For developers looking to build services locally (such as, the coordinator), see our detailed Local Development Guide.
For AI coding agents and developer tools:
- Canonical instructions: AGENTS.md
- Claude Code entry point: CLAUDE.md
- GitHub Copilot entry point: .github/copilot-instructions.md
- Cursor documentation index: .cursor/rules/documentation.mdc
- Cursor review/rule set: .cursor/BUGBOT.md
Linea's stack is made up of multiple repositories, these include:
- This repo, linea-monorepo: The main repository for the Linea stack & network
Also maintains a set of Linea-Besu plugins for the sequencer and RPC nodes.
- linea-besu-upstream: Besu build configured for Linea
- linea-tracer: Linea-Besu plugin which produces the traces that the constraint system applies and that serve as inputs to the prover
- linea-constraints: Implementation of the constraint system from the specification
- linea-specification: Specification of the constraint system defining Linea's zkEVM
Linea abstracts away the complexity of this technical architecture to allow developers to:
... and more.
Contributions are welcome!
Please keep in mind that we do not accept non-code contributions like fixing comments, typos or some other trivial fixes. Although we appreciate the extra help, managing lots of these small contributions is unfeasible, and puts extra pressure in our continuous delivery systems (running all tests, etc). Feel free to open an issue pointing to any of those errors, and we will batch them into a single change.
If the proposed update is non-trivial, also tag us for discussion.
- Submit the update as a pull request from your fork of this repo, and tag us for review.
Include the issue number in the pull request description and (optionally) in the branch name.
Consider starting with a "good first issue".
Before contributing, ensure you're familiar with:
- Our contribution guide
- Our code of conduct
- The Besu contribution guide, for Besu:Linea related contributions
- Our security policy
- Linea docs managed from a public repo
- Linea blog
- Support
- Discord