Skip to content
forked from ethereum/py-evm

A Python implementation of the Ethereum Virtual Machine


Notifications You must be signed in to change notification settings



Repository files navigation

Python Implementation of the Ethereum protocol

Join the chat at Documentation Status

Image Image


Py-EVM is a new implementation of the Ethereum protocol in Python. It contains the low level primitives for the existing Ethereum 1.0 chain as well as emerging support for the upcoming Ethereum 2.0 / Serenity spec.


Py-EVM aims to eventually become the defacto Python implementation of the Ethereum protocol, enabling a wide array of use cases for both public and private chains.

In particular Py-EVM aims to:

  • be a reference implementation of the Ethereum 1.0 and 2.0 implementation in one of the most widely used and understood languages, Python.

  • be easy to understand and modifiable

  • have clear and simple APIs

  • come with solid, friendly documentation

  • deliver the low level primitives to build various clients on top (including full and light clients)

  • be highly flexible to support both research as well as alternate use cases like private chains.


While Py-EVM provides the low level APIs of the Ethereum protocol, it does not aim to implement a full or light node directly.


  • provide a reference implementation for an Ethereum 1.0 node (alpha)

  • support "full" and "light" modes

  • fully support mainnet as well as several testnets

  • provide a reference implementation of an Ethereum 2.0 / Serenity beacon node (pre-alpha)

  • provide a reference implementation of an Ethereum 2.0 / Sereneity validator node (pre-alpha)


Get started in 5 minutes


Check out the documentation on our official website

Want to help?

Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues that are labeled Good First Issue.


A Python implementation of the Ethereum Virtual Machine







No packages published


  • Python 99.9%
  • Other 0.1%