Skip to main content

Minimal EVM in Rust

Execute Ethereum bytecode with a lightweight, efficient virtual machine. Support for 40+ opcodes, stack operations, memory management, and cryptographic functions.

Get Started

Jump right in and start executing EVM bytecode.

Installation

Install Cubipods via cargo in seconds

Quickstart

Run your first bytecode execution

CLI Reference

Explore command-line options

API Reference

Use Cubipods as a library

Key Features

Everything you need to work with EVM bytecode.

40+ Opcodes

Support for arithmetic, comparison, bitwise, stack, memory, storage, and crypto operations

Stack Management

Full EVM-compliant stack with 1024-element limit

Memory Operations

MLOAD and MSTORE with automatic memory expansion

Storage

Persistent storage operations with SLOAD and SSTORE

Verbose Mode

Detailed execution history and debugging output

Library API

Programmatic access to VM, Stack, Memory, and Storage

Core Concepts

EVM Basics

Understand how the EVM works

Bytecode Format

Learn about bytecode structure

Execution Model

Explore the execution flow

Example

Execute a simple addition operation:
cubipods -b 6003600201
This bytecode pushes 0x03 and 0x02 onto the stack, then adds them together. Enable verbose mode to see execution details:
cubipods -b 6003600201 -v

Build docs developers (and LLMs) love