OpenViSTAI · Agents · Blockchain · Crypto
Menu
Developer Tools

Solfuzz

Solfuzz is a Python command-line tool that fuzz-tests Solidity smart contracts in an EVM by compiling source files, running randomized sequences of public or external calls, and checking declared Boolean properties after each step.

Independent OpenViST project profile, based on linked sources.

Solfuzz — 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 Solfuzz during local Solidity development when you want to probe contract invariants under randomized EVM call sequences and retain failures for follow-up.

Who it is for

  • Solidity developers testing contract behavior across randomized call sequences.
  • Teams seeking failure artifacts to inform repeatable regression checks.

Documented uses

  • Exercise contract functions in varied randomized sequences.
  • Check `echidna_*` properties for false results or reverts.
  • Save failure artifacts and attempt to replay a failure.
Before you choose

Requirements & limits

Solfuzz is an MIT-licensed, public GitHub repository. Its README lists Windows, macOS and Linux support and describes Docker as optional.

  • The tool treats public or external non-view functions other than properties as fuzzing targets.
  • A supplied seed can support reproducible fuzzing runs; failures are saved under artifacts/run-*/failure.json.
  • Compilation is managed by py-solc-x, which downloads a compiler on first compile for a pragma.
  • Failure shrinking is basic, and coverage-guided scheduling and parallel workers are listed as roadmap items.

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 Solfuzz and inspect diagnostics

Install the tool in editable mode and run its diagnostic command.

Before you start

  • Python 3.9+
  • pip 26+
  • Windows, macOS or Linux

Steps

  1. From the project checkout, run the command below.

    Documented command
    pip install -e .
  2. Run solfuzz doctor to print diagnostics for bug reports.

Expected outcome

Solfuzz is installed in editable mode and prints diagnostic information.

Guide limitations

  • This covers installation and diagnostics, not a fuzzing run.
  • Docker is optional and not required for normal use.
Source-based practical guide

Run the example fuzz configuration

Start fuzzing with the project's example configuration.

Before you start

  • Solfuzz installed in editable mode
  • Python 3.9+ and pip 26+
  • The project checkout with configs/example.yaml

Steps

  1. Run solfuzz run --config configs/example.yaml.

  2. Review the run's reported property violations and saved failure artifacts, if any.

Expected outcome

Solfuzz compiles the Solidity sources configured in the example and fuzzes public or external calls while checking declared properties.

Guide limitations

  • The README does not specify the example run's duration or expected findings.
  • Input shrinking is basic; failure replay is best-effort.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
9 October 2026
Original website title
Dropnation/contract-fuzzer · Official homepage title · retained in its source language