Repository · Apache-2.0 · v1.1 release candidate
The source. Read it. Run it. Audit it.
Kern is an open protocol. The reference implementation in Python is ~33 000 lines of code with 692 tests passing, ready to clone, run, and review. Every design decision is in the code. The whitepaper is the spec; the repository is the implementation.
Five minutes to a running node
Run Kern locally in three commands.
Clone the repository, install the explorer extras, run the tests, and start a local devnet with three validators. Open Heimdall in your browser and watch blocks arrive in real time.
Read the full developer guide →What you'll find
The repository, top-down.
Two top-level packages: the protocol (kern/) and the explorer (kern_explorer/). Everything else is documentation, setup scripts, or tests.
kern/ ├── kern/ # Core protocol (L1) │ ├── crypto.py # Ed25519, blake2b, base58check │ ├── transaction.py # 11 OpKinds incl. attestations │ ├── block.py # BlockHeader, merkle root │ ├── chain.py # State machine + governance + delegation │ ├── consensus.py # Three-phase BFT │ ├── network.py # asyncio P2P gossip │ ├── rpc.py # JSON-over-HTTP + /metrics │ ├── storage.py # SQLite-backed persistence │ ├── rollup.py # Optimistic rollup │ ├── governance.py # Dual-track + equivocation │ ├── attestation.py ★ v1.1-rc slashable primitive │ ├── zk_claims.py ★ v1.1-rc Groth16 / BN254 │ ├── evm/ # EVM (for rollups) │ └── skald/ # Skald language + 10 templates ├── kern_explorer/ # Heimdall — explorer + monitoring │ ├── app.py # FastAPI: 19 HTML + 12 JSON routes │ ├── indexer.py # Async chain follower │ ├── templates/ # 19 Jinja2 templates │ └── monitoring/ # 7 Grafana dashboards + alerts ├── docs/ # 55 markdown specs and guides ├── tests/ # 692 tests ├── scripts/ # keygen, genesis, wallet CLI ├── networks/ # devnet bootstrap ├── pyproject.toml └── README.md
Two things this repository is not
It is not a fork of another L1. Every line of Python was written for Kern, with one external dependency (py_ecc for BN128 curve, imported as a package). The originality is documented and audited per file via SPDX headers and authorship lines.
It is not a marketing repository. There is no roadmap of vapourware features. What is in main is what runs.
- Every .py file carries the SPDX header and founder attribution line — verified by the originality test suite
- The whitepaper is in docs/whitepaper.md (source of the rendered version on this site)
- The roadmap is in docs/roadmap.md and docs/post-code-roadmap.md — honest about what's done vs. planned
Documentation
Find the guide for your role.
Setup guides are organised by who's reading. Each one is precise enough that a competent practitioner can follow it end-to-end with copy-paste commands. Click through to the rendered version on GitHub.
Setup — Developer
Set up your local dev environment, run the test suite, build a contract, contribute to the core.
Setup — dApp developer
Write and originate Skald contracts. Use the v1.1-rc templates (STO, PGF, oracle) as a starting point.
Setup — Validator
Run a Kern validator: hardware, keys, monitoring, slashing avoidance, governance participation.
Setup — Delegator
Delegate to a validator without giving up custody, Liquid PoS. Check rewards via Heimdall.
Setup — Heimdall operator
Run the official block explorer + monitoring stack. Production deployment patterns included.
Setup — Rollup operator
Operate an optimistic rollup anchored to Kern L1. EVM-compatible sequencer setup.
Setup — Explorer ops
Run public infrastructure: read-only node behind reverse proxy, rate limits, HTTPS. Generic to any explorer.
Setup — Foundation
Incorporate the Kern Foundation. Multisig, treasury, genesis ceremony.
Setup — Auditor
Engagement guide for security audit firms reviewing Kern v1.1-rc. Scope, deliverables, references.
Contribute
Three ways to engage with the project.
There is a contributors program with KRN allocations earmarked for sustained work in any of these three directions. See docs/contributors-program.md for the criteria.
Code
Core protocol, Skald language enhancements, Heimdall improvements (sessions 2-4 of the Heimdall plan are still open), additional Skald templates for new institutional use cases. The 4 sessions in the Heimdall delivery plan are all candidates for further work.
contributors-program.md →Audit
Independent review of the v1.1-rc reference implementation. The internal review found and fixed seven issues; a professional audit is the next gating item before Yggdrasil testnet. Firms welcome to engage.
setup-auditor.md →Use cases
If you are an institution with a real STO, PGF round, oracle network, or attestation use case you want to deploy, reach out. The v1.1-rc verticals exist to be used; pilots will shape v1.2 priorities.
Read the invitation in the manifesto →Licensing & authorship
Open source, attributed forever.
The reference implementation
Every Python file in kern/ and kern_explorer/ is published under Apache-2.0. You can use it, modify it, link to it from proprietary software, redistribute it. There is no copyleft requirement: you are not obliged to open-source your own code. The conditions are the usual permissive ones — retain the copyright and license notices, include the license and NOTICE file, and state significant changes. Apache-2.0 also grants an express patent license, which is why it is a common choice for protocols that want broad institutional and commercial adoption.
Documentation, whitepaper, manifesto
Markdown documentation, the whitepaper, and the manifesto are under Creative Commons Attribution-ShareAlike 4.0. You can quote, translate, and adapt them as long as you credit the author and preserve the license. Translations and adaptations are explicitly encouraged. The author of the original work — Nicolas Van Eeckhout — is named in every file, and Belgian moral rights law (Article XI.165, Code of Economic Law) protects this attribution.