Skip to content
THREATWIRE

Halmos

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.

Open sourceAGPL-3.0-only
Homepage of Halmos
Official repository page, captured by ThreatWire.

What Halmos does

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.

Key features

  • Symbolic execution of Foundry tests
  • Counterexample generation
  • Bounded verification of properties
  • Invariant testing support
  • Works on existing test suites

Licence

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.

Security of Halmos itself

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.

Categories and tags

Smart contract security#symbolic-testing#formal-verification#foundry#evm

Related tools

  • 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
    Apache-2.0 OR MITOpen sourceSmart contract security
  • Slither

    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.

    Stars
    6.4k
    Forks
    1.2k
    Last commit
    2 months ago
    AGPL-3.0-onlyOpen sourceSmart contract security
  • Mythril

    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.

    Stars
    4.3k
    Forks
    821
    Last commit
    1 year ago
  • Echidna

    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.

    Stars
    3.2k
    Forks
    437
    Last commit
    5 days ago
    AGPL-3.0-onlyOpen sourceSmart contract security
  • Aderyn

    Rust-based Solidity static analyser

    Cyfrin's static analyser for Solidity written in Rust, with detectors, Markdown audit-style reports and editor integration.

    Stars
    797
    Forks
    121
    Last commit
    5 months ago
    GPL-3.0-onlyOpen sourceSmart contract security
Share on X@threatwire_https://www.threatwire.tech/tools/halmos