halmos

Run symbolic execution and bounded model checking on Solidity smart contracts.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/0xinit/cryptoskills --skill halmos-0xinit
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: halmos
Source: https://github.com/0xinit/cryptoskills/tree/main/skills/halmos
Command: npx skills add https://github.com/0xinit/cryptoskills --skill halmos-0xinit

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires halmos, z3-solver, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps developers find bugs in Solidity smart contracts by executing tests symbolically, ensuring properties hold for all possible inputs within defined bounds, rather than just random ones.

Core Features & Use Cases

  • Symbolic Execution: Analyzes contract code to cover all execution paths for given inputs.
  • Bounded Model Checking: Verifies properties up to a specified number of loop iterations or call depths.
  • Counter-Example Generation: Produces concrete inputs that violate a property, aiding in debugging.
  • Use Case: Automatically verify that a token transfer function never changes the total supply, regardless of sender, receiver, or amount.

Quick Start

Use the halmos skill to run symbolic tests on your Foundry project.

Frequently Asked Questions about halmos

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is symbolic execution for Solidity smart contracts?

Symbolic execution analyzes smart contract code by exploring all possible execution paths for given inputs, rather than relying on random testing, to verify properties hold within defined bounds.

How do I verify Solidity contract properties using Foundry?

You can verify Solidity contract properties by running symbolic tests on your Foundry project, which enables bounded model checking to explore all possible input combinations within specified limits.

Does halmos work with existing Foundry test suites?

Yes, halmos supports Foundry integration, allowing you to run symbolic execution directly on your Foundry project to comprehensively verify contract properties and identify violations.

How does bounded model checking find bugs in smart contracts?

Bounded model checking finds bugs by verifying properties up to a specified number of loop iterations or call depths, generating concrete counter-examples as inputs that violate a property for debugging.

What are the limitations of symbolic execution for smart contracts?

Symbolic execution for smart contracts operates within defined bounds, meaning it verifies properties up to specified loop iterations or call depths rather than proving unbounded state correctness.