Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
hairyf avatar

Halmos

  • 4 installs
  • 4 repo stars
  • Updated February 25, 2026
  • hairyf/blockchain-master

Symbolically test EVM smart contracts with Halmos - Foundry-style check_/invariant_ tests verified across all inputs via an SMT solver.

About

Halmos runs symbolic tests on EVM contracts using a Foundry frontend, verifying check_ and invariant_ tests for all inputs within bounds. A developer uses it to formally check contract properties beyond fuzzing.

  • Symbolic constructor args and svm.create* cheatcodes
  • Invariant testing and configurable SMT solvers (Yices, cvc5, Bitwuzla)

Halmos by the numbers

  • 4 all-time installs (skills.sh)
  • Ranked #1,631 of 2,153 Testing & QA skills by installs in the Skillselion catalog
  • Data as of Jul 13, 2026 (Skillselion catalog sync)
npx skills add https://github.com/hairyf/blockchain-master --skill halmos

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs4
repo stars4
Last updatedFebruary 25, 2026
Repositoryhairyf/blockchain-master

What it does

Symbolically test EVM smart contracts with Halmos - Foundry-style check_/invariant_ tests verified across all inputs via an SMT solver.

Files

SKILL.mdMarkdownGitHub ↗
Skill is based on Halmos (a16z/halmos), generated from source at the listed date.

Halmos is a symbolic testing tool for EVM smart contracts. It uses a Solidity/Foundry frontend: you write check_ or invariant_ tests like fuzz tests, and Halmos verifies them for all possible inputs (within bounds) via symbolic execution and an SMT solver. It supports symbolic constructor args, invariant testing over call sequences, and configurable solvers (Yices, cvc5, Bitwuzla).

Core References

TopicDescriptionReference
Symbolic testingHow symbolic tests differ from fuzz tests; check_ structure; vm.assume vs boundcore-symbolic-testing
CLI and configInvocation, --contract/--function, halmos.toml, @custom:halmos annotationscore-cli-config
setUp and cheatcodesSymbolic constructor args; svm.createUint256, createAddress, createBytes; halmos-cheatcodescore-setup-cheatcodes

Features

TopicDescriptionReference
Invariant testinginvariant_ prefix, --invariant-depth, frontier states, running invariantsfeatures-invariant-testing
Solver options--solver (yices, cvc5, bitwuzla), timeouts, --solver-threads, --solver-commandfeatures-solver-options

Best practices

TopicDescriptionReference
Writing testsassume vs bound, assertion Panic(1), revert checks, dynamic typesbest-practices-writing-tests

Related skills

Testing & QAappsecaudit

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.