Security Tools
Echidna is an open-source property-based fuzzer for Ethereum smart contracts, maintained by Trail of Bits. You define properties or invariants that should always hold, and Echidna generates long, coverage-guided sequences of transactions trying to violate them.
Echidna is particularly strong at stateful testing: it drives a contract through many action sequences with different callers and inputs, reporting any sequence that breaks an invariant as a concrete, reproducible counterexample. This surfaces emergent bugs that only appear after specific orderings of calls.
Fuzzing with Echidna complements static analysis (Slither) and symbolic execution (Mythril). It only tests the properties you write, so good invariants are essential.
Q: What kind of bugs does Echidna find?
A: Emergent, multi-step bugs — accounting drift, broken solvency conditions, or state that violates a declared invariant after a particular sequence of calls.
Q: Do I need to write properties for Echidna?
A: Yes. Echidna tests the invariants and properties you define, so its effectiveness depends on writing meaningful ones.
Related terms
Firepan
Run a free surface scan — results in minutes, no credit card required.
Run Free Scan →