AN EXECUTION CLIENT
FOR THE EVM ECOSYSTEM

LinuxmacOSWindowsDocker

TYTOEthereum Virtual Machine Client

Tyto is a Scala execution client for the EVM ecosystem. One binary runs a network family by configuration rather than a new client per chain, so several networks run at once in one JVM process. It scales from a single home node to institutional deployments.

docker run ghcr.io/tyto-project/tyto-cli
Scala 3PekkoJVMRocksDB
About

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.

Get started with Tyto
CONSENSUS MODEL

Selected per deployment, behind one interface.

LANGUAGE STACK

Scala 3 LTS · Pekko Typed Actors · JVM.

NETWORK COVERAGE

Every configured network, from one binary.

View on GitHub
Install

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
docker run ghcr.io/tyto-project/tyto-cli --network=etc
Native
tyto --network=etc

Platform installers, node requirements and every network argument →

The case for it

Why 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.

Why Tyto

What Tyto does

NETWORKS

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

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.

OPTIONAL LAYERS

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.

SCALA 3

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.

JVM

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.

MCP SERVER

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.

Project

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.

Get started

One signed binary scales from a home node to institutional infrastructure. Download a release and run it; deployment, monitoring, and upgrades live in the operator guide.

Join discussions