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.
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.
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
From the project checkout, run the command below.
pip install -e .Run
solfuzz doctorto 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.
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
Run
solfuzz run --config configs/example.yaml.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.
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

