Skill is based on Echidna (crytic/echidna), generated from source at the listed date.
Echidna is a property-based fuzzer for Ethereum smart contracts. It generates random sequences of contract calls to falsify invariants (Solidity functions named with a prefix like echidna_ that return bool) or to trigger Solidity assert failures. It supports coverage-guided fuzzing, corpus collection, multiple test modes, and integration with Foundry, Hardhat, and Truffle.
Core References
| Topic |
Description |
Reference |
| Invariants |
Defining and running property invariants (echidna_ prefix, no args, return bool) |
core-invariants |
| Configuration |
YAML config (testMode, gas, coverage, corpus, workers, filtering) |
core-configuration |
| CLI |
Invocation, contract selection, output drivers (text, json, none) |
core-cli |
Features
| Topic |
Description |
Reference |
| Coverage and corpus |
corpusDir, covered.txt, line markers, coverage reports |
features-coverage |
| Build systems |
Foundry, Hardhat, Truffle, echidna ., allContracts, solcLibs |
features-build-systems |
| Test modes |
property, assertion, overflow, exploration, optimization |
features-test-modes |
| Function filtering |
filterFunctions, filterBlacklist, whitelist/blacklist |
features-filtering |
| Symbolic execution |
symExec, SMT solver (cvc5, z3, bitwuzla), tuning options |
features-symbolic |
| FFI and cheatcodes |
allowFFI, HEVM cheatcode support |
features-ffi-cheatcodes |
Best practices
| Topic |
Description |
Reference |
| Invariant patterns |
Multi-sender, payable, gas/time, assertions vs invariants |
best-practices-invariants |
Advanced
| Topic |
Description |
Reference |
| JSON output |
Campaign/Test/Transaction schema for CI and scripting |
advanced-json-output |
| Debugging |
Profiling (+RTS -p -s), common performance causes |
advanced-debugging |
1---2name: echidna3description: Property-based fuzzing and assertion testing for Ethereum smart contracts with Echidna.4---56> Skill is based on Echidna (crytic/echidna), generated from source at the listed date.78Echidna is a property-based fuzzer for Ethereum smart contracts. It generates random sequences of contract calls to falsify invariants (Solidity functions named with a prefix like `echidna_` that return bool) or to trigger Solidity `assert` failures. It supports coverage-guided fuzzing, corpus collection, multiple test modes, and integration with Foundry, Hardhat, and Truffle.910## Core References1112| Topic | Description | Reference |13|-------|-------------|-----------|14| Invariants | Defining and running property invariants (echidna_ prefix, no args, return bool) | [core-invariants](references/core-invariants.md) |15| Configuration | YAML config (testMode, gas, coverage, corpus, workers, filtering) | [core-configuration](references/core-configuration.md) |16| CLI | Invocation, contract selection, output drivers (text, json, none) | [core-cli](references/core-cli.md) |1718## Features1920| Topic | Description | Reference |21|-------|-------------|-----------|22| Coverage and corpus | corpusDir, covered.txt, line markers, coverage reports | [features-coverage](references/features-coverage.md) |23| Build systems | Foundry, Hardhat, Truffle, echidna ., allContracts, solcLibs | [features-build-systems](references/features-build-systems.md) |24| Test modes | property, assertion, overflow, exploration, optimization | [features-test-modes](references/features-test-modes.md) |25| Function filtering | filterFunctions, filterBlacklist, whitelist/blacklist | [features-filtering](references/features-filtering.md) |26| Symbolic execution | symExec, SMT solver (cvc5, z3, bitwuzla), tuning options | [features-symbolic](references/features-symbolic.md) |27| FFI and cheatcodes | allowFFI, HEVM cheatcode support | [features-ffi-cheatcodes](references/features-ffi-cheatcodes.md) |2829## Best practices3031| Topic | Description | Reference |32|-------|-------------|-----------|33| Invariant patterns | Multi-sender, payable, gas/time, assertions vs invariants | [best-practices-invariants](references/best-practices-invariants.md) |3435## Advanced3637| Topic | Description | Reference |38|-------|-------------|-----------|39| JSON output | Campaign/Test/Transaction schema for CI and scripting | [advanced-json-output](references/advanced-json-output.md) |40| Debugging | Profiling (+RTS -p -s), common performance causes | [advanced-debugging](references/advanced-debugging.md) |