rust-ethereum/evm

Pure Rust implementation of Ethereum Virtual Machine

Rust

1,322

1,754 commits

updated Aug 6, 2026

See the code

README

Rust EVM

Build Status License Matrix Crates.io Version docs.rs

Rust EVM, also known as SputnikVM, is a flexible Ethereum Virtual Machine interpreter that can be easily customized.

Status

The Rust EVM project has a long history dating back to the initial implementation in 2017 (when it was called SputnikVM). It has gone through multiple rewrites over the years to accommodate for different requirements, when we successfully tested it by integrating Geth to sync the mainnet.

The current rewrite is used in production for the Frontier project (the Ethereum-compatibility layer for Polkadot). We pass the Ethereum test suite. PRs for fixes are welcomed.

Features

  • Standalone - can be launched as an independent process or integrated into other apps.
  • Flexible - can be customized and extended to support additional opcodes, additional precompiles, different gasometers or other more exotic use cases.
  • Portable - support no_std, and can be used in different environments like in WebAssembly.
  • Fast - we of course try to be fast!
  • written in Rust, can be used as a binary, cargo crate or shared library.

Dependencies

Rust EVM requires at least rustc 1.75.

Documentation

License

Apache 2.0

rust-ethereum/evm

Pure Rust implementation of Ethereum Virtual Machine

Rust

1,322

1,754 commits

updated Aug 6, 2026

See the code

README

Rust EVM

Build Status License Matrix Crates.io Version docs.rs

Rust EVM, also known as SputnikVM, is a flexible Ethereum Virtual Machine interpreter that can be easily customized.

Status

The Rust EVM project has a long history dating back to the initial implementation in 2017 (when it was called SputnikVM). It has gone through multiple rewrites over the years to accommodate for different requirements, when we successfully tested it by integrating Geth to sync the mainnet.

The current rewrite is used in production for the Frontier project (the Ethereum-compatibility layer for Polkadot). We pass the Ethereum test suite. PRs for fixes are welcomed.

Features

  • Standalone - can be launched as an independent process or integrated into other apps.
  • Flexible - can be customized and extended to support additional opcodes, additional precompiles, different gasometers or other more exotic use cases.
  • Portable - support no_std, and can be used in different environments like in WebAssembly.
  • Fast - we of course try to be fast!
  • written in Rust, can be used as a binary, cargo crate or shared library.

Dependencies

Rust EVM requires at least rustc 1.75.

Documentation

License

Apache 2.0

Project health

crates.io

Latest release

1.1.1 · Mar 25, 2026

Releases this year

3

Significant stargazers

(top 24 of 29)

Victor Taelin

6,679 followers · starred Nov 2022

Graydon Hoare

7,937 followers · starred Nov 2021

Lachezar Lechev

215 followers · starred Nov 2021

Federico Gimenez

355 followers · starred Nov 2022