Foundry
Fast toolkit for Ethereum development and testing
Rust toolkit (forge, cast, anvil, chisel) to build, test, fuzz and deploy Solidity contracts, with fuzz and invariant testing built in.
- Stars
- 11k
- Forks
- 2.7k
- Last commit
- today

Symbolic testing for EVM smart contracts
a16z's symbolic testing tool that runs Foundry-style tests with symbolic inputs to prove properties or find counterexamples.

Halmos reuses tests written for Foundry but treats inputs as symbolic values. Instead of trying random inputs like a fuzzer, it explores paths with an SMT solver and either reports that an assertion holds within the explored bounds or returns a concrete counterexample.
It brings bounded formal verification into a familiar testing workflow and is developed by a16z crypto.
AGPL-3.0-only · GNU AGPL v3 · Open source
Checked by ThreatWire against the repository's licence file on 2026-10-20. GitHub detects: AGPL-3.0.
No published advisory found for Halmos in GitHub repository advisories. That does not mean the tool has no vulnerabilities.
Sources: GitHub repository advisories · checked 2026-10-20.
Fast toolkit for Ethereum development and testing
Rust toolkit (forge, cast, anvil, chisel) to build, test, fuzz and deploy Solidity contracts, with fuzz and invariant testing built in.
Static analyser for Solidity and Vyper
Trail of Bits' static analysis framework for Solidity and Vyper with dozens of vulnerability detectors, printers and an API for custom analyses.
Symbolic execution analyser for EVM bytecode
Security analysis tool from Consensys Diligence that uses symbolic execution and SMT solving to find vulnerabilities in EVM bytecode.
Property-based fuzzer for Ethereum smart contracts
Trail of Bits' fuzzer that generates transaction sequences to break user-defined invariants and assertions in Solidity contracts.
Rust-based Solidity static analyser
Cyfrin's static analyser for Solidity written in Rust, with detectors, Markdown audit-style reports and editor integration.