Echidna

Ethereum smart contracts can be fuzzed with Echidna, whose repository describes it as a fuzzer.

github.com/crytic/echidna
Echidna homepage screenshot

About Echidna

Echidna is an open-source Haskell program for fuzzing and property-based testing of Ethereum smart contracts. It generates sequences of calls based on the contract ABI to check user-defined predicates and Solidity assertions, and outputs the call sequence when an invariant is falsified.

It supports several test modes set by testMode or --test-mode, including property, assertion, Foundry, verification, overflow, optimization and exploration. It can collect a coverage-guided corpus, minimize failing cases, and save replayable transactions with annotated source coverage.

Key features

  • Fuzzes Ethereum contracts using ABI-based grammar-based input generation
  • Checks user-defined echidna_ invariants returning boolean
  • Detects assert() and Foundry assertX failures in assertion mode
  • Supports property, overflow, optimization, exploration and other test modes
  • Saves replayable corpus and annotated source coverage via corpusDir
  • Outputs results in interactive terminal UI, text, or JSON
Best for: Developers testing Ethereum smart contracts with property-based invariants and assertions.
Good for
  • Open-source codebase with example contracts and configurable test modes
  • Uses Slither for pre-campaign information extraction and reports line coverage
  • Automatically minimizes failing call sequences and supports text or JSON output
Watch out for
  • Invariants must be no-argument Solidity functions prefixed with echidna_ returning boolean
  • Overflow detection is described for Solidity >= 0.8.0

Echidna at a glance

Type
Open-source project
Pricing
Not confirmed. Check the site
Open source
Yes · Source code
Language
English
Last checked
Oct 5, 2026 · Online when checked
Listed
Oct 5, 2026

Echidna alternatives

Tools and sites you could use instead, ranked by how closely they match.

All 24 alternatives

Popular in Portfolio & Security Tools

Well-known listings from the same topic.

All 72

Echidna FAQ

How do I write invariants for Echidna?
Write Solidity functions starting with echidna_, with no arguments, returning a boolean, then run echidna myContract.sol to check them.
What test modes does Echidna support?
Property, assertion, foundry, verification, overflow, optimization and exploration, set with testMode in the config file or --test-mode on the CLI.
How is coverage saved?
Set the corpusDir option. Echidna saves replayable JSON transactions in a coverage subdirectory and annotated source code in covered.txt.
Is something wrong or out of date?

Tell us and an editor will check it.

Own this website?

Claim the listing and suggest updates yourself. An editor checks every claim first.

Claim this listing