What is Tyto?
One binary, one network-family framework: the same build runs a network family by configuration rather than a new client per chain. Built on Scala 3 LTS and Pekko Typed Actors, Tyto runs production networks in more than one consensus model from a single codebase, and the same framework extends it to further EVM networks by configuration alone.
Selected per deployment, behind one interface.
Scala 3 LTS · Pekko Typed Actors · JVM.
Every configured network, from one binary.
Run a node
The Docker image needs no JDK. A platform distribution puts a tyto launcher on PATH and needs the current JDK LTS. Either way the node starts syncing immediately.
docker run ghcr.io/tyto-project/tyto-cli --network=etctyto --network=etcWhy run a node?
A node validates the chain for itself. Everything else relies on some other machine to do it for you.
You verify the chain yourself
A node checks every block against the protocol rules before accepting it. A public endpoint gives you whatever answer it has, and you cannot check it.
No rate limits and no provider
Hosted endpoints have quotas, get deprecated, and go down. A node you run has none of those, and nothing sits between you and the network.
Mining and staking need one
Mining and staking both require a node. So does serving RPC to other people, or keeping the history that other operators bootstrap from.
What are you running it for?
- Energy →Proof-of-Work as a flexible industrial load, and the mining economy built on it.
- Institutions →Decentralization as evidence, settlement finality, and JVM-native deployment.
- Consortium →Permissioned and private networks, with consensus chosen per deployment.
- Infrastructure →Bootnodes, state serving and an RPC relay, for standing a network up rather than joining one.
What Tyto does
Tyto runs the EVM ecosystem
Ethereum Classic, the only Proof-of-Work EVM network in production, and Ethereum, the largest Proof-of-Stake network, each with its testnet. The same network-family framework extends the same binary to consortium networks, sidechains, L2 rollups and ZK-EVM families by configuration. Each network's fork schedule is tracked as part of running it.
One binary runs several networks at once
Tyto can run several networks at the same time, in one process. Each network has its own state, its own metrics registry and its own configuration, and is supervised separately. That means fewer machines to operate and one supply chain to audit.
It can mine, and it can run consensus
Tyto is an execution client. On Proof-of-Work it can also mine, and on Proof-of-Stake it can run a consensus layer in the same binary so a node is one process. Both are options rather than requirements: the Engine API is implemented either way, so an external consensus client can drive Tyto instead.
Tyto is written in Scala 3
Scala 3's algebraic data types and exhaustive pattern matching make many consensus-critical mistakes impossible to express, so they are caught when the code is compiled rather than when a block is processed.
Tyto runs on the JVM
JFR, async-profiler, JMX and heap dumps work on Tyto the way they work on any other JVM process. There is no foreign-language bridge between the client and the rest of your stack.
Tyto ships an MCP server
Model Context Protocol is an open standard for exposing structured tools to AI agents. Tyto's MCP server exposes node state, sync progress, peer counts and block data to any MCP-compatible agent, for infrastructure automation, anomaly detection and runbook execution.
Who builds Tyto
Who builds it
Tyto is maintained by The Tyto Authors. It is open source under Apache 2.0.
About the project →Contribute
Patches are welcome, from a typo upward. Fork the repository, make the change, and open a pull request.
Source on GitHub →Ask something
Bug reports and feature requests go to issues. Questions, ideas and operator help go to discussions.
Issues and discussions →Report a suspected vulnerability through GitHub's private advisory form, not the public issue tracker, and hold the details until there is a fix to publish.
