OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

EVM

EVM is an open-source toolkit for symbolic interpretation, parsing, decompilation and programmatic analysis of Ethereum Virtual Machine bytecode. Distributed as the sevm package, it includes a Contract API and a command-line tool, with browser use also documented.

Independent OpenViST project profile, based on linked sources.

EVM — OpenViST project profile in Developer Tools.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use EVM when bytecode-level inspection or programmatic extraction is needed, including when a workflow starts with retrieving a contract's bytecode from an EVM network.

Who it is for

  • Ethereum and EVM developers examining compiled contract bytecode.
  • Researchers and auditors who need low-level opcode, signature, metadata or ERC-compliance information.

Documented uses

  • Convert bytecode into opcodes and inspect which opcodes are reachable.
  • Decompile bytecode into Solidity-like or Yul-like pseudocode for analysis.
  • Extract functions, events and metadata hashes when present.
  • Check whether a contract appears compliant with a specified ERC identifier.
Before you choose

Requirements & limits

The repository declares an MIT license. Installation is documented through npm and Yarn, as a globally installed CLI, and through a browser script tag.

  • Address-based examples use ethers.js and a JSON-RPC provider to retrieve bytecode; EVM performs the subsequent analysis.
  • An optional embedded function and event signature database supports signature matching.
  • Decompilation produces readable pseudocode, not recovered original source code.
  • The README describes the project as under heavy development.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Install EVM as a Node.js package

Add the sevm package to a project so its documented API can be used from JavaScript.

Before you start

  • A project using npm or Yarn.

Steps

  1. Run the command below or yarn add sevm in the project.

    Documented command
    npm install sevm
  2. Import Contract from sevm with ESM, or load it with CommonJS require.

Expected outcome

The project has the package installed and can reference the documented Contract API.

Guide limitations

  • These steps cover package installation and module loading, not a bytecode-analysis workflow.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
12 October 2026
Original website title
acuarica/evm · Official homepage title · retained in its source language