This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!
Formal Verification Tool
Security · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — nothing to install.
CategorySecurity
PlatformAll
Pricing
Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.
Download for
iOS
App Store
Download for
Android
Google Play
Download for
Windows
.exe installer
Download for
macOS
.dmg universal
Download for
Linux
.AppImage
Try BotSurf in your browser — no install
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Formal Verification Tool analyzes Ethereum smart contract source code to mathematically verify that specific properties and invariants hold true under all possible execution paths. Unlike fuzzing or manual auditing, which test specific scenarios, this tool applies SMT (Satisfiability Modulo Theories) solving to exhaustively explore the state space of your contract. It checks properties like "value never exceeds 100", "only the owner can call this function", or "the total supply remains constant". The tool reads your contract source code, parses it into an abstract syntax tree, and translates your natural-language properties into formal logical constraints that an SMT solver can evaluate. It then returns a clear PASS/FAIL result for each property, along with a counterexample if a property fails. This gives you mathematical certainty about the behavior of your contract, far beyond what traditional testing can provide.
HOW TO USE
Paste your contract's Solidity source code into the source code area. Enter the contract address you want to verify (optional, but useful for matching on-chain state). In the properties input, list each property you want to verify, one per line — for example, "totalSupply = 0". Click "Verify" to run the analysis. The tool will parse your code, extract the relevant functions and state variables, and run the SMT solver against each property. Results appear as a list of PASS/FAIL statuses, with detailed explanations and counterexamples for any failures. You can then iterate on your code or properties until all checks pass.
TECHNICAL MECHANISM
The tool integrates a lightweight SMT solver backend using Z3 or similar theorem provers. When you submit your contract and properties, the tool performs several steps: first, it compiles the Solidity source to extract the control flow graph (CFG) and the Abstract Syntax Tree (AST). Second, it translates each function into a set of logical constraints representing the state transitions. Third, it encodes your property as a logical formula that must hold at the end of every possible transaction sequence. The SMT solver then attempts to find a counterexample — a specific sequence of transactions and inputs that would violate the property. If the solver finds none, the property is proven correct (within the bounds of the encoding). If it finds a counterexample, the tool presents it as a concrete sequence you can reproduce. This method catches edge cases that would be missed by unit tests or manual reviews.
WHAT IT CANNOT SEE
This tool cannot provide a mathematical proof of correctness for arbitrary code — the halting problem makes that impossible in the general case. It cannot guarantee the absence of all vulnerabilities, especially those that are not expressible as formal properties (e.g., economic attacks, governance manipulation, or off-chain data dependencies). It cannot detect business logic flaws that are not captured by the properties you specify. It cannot verify interactions with external contracts or oracles without their source code and state assumptions. It also cannot prove that your contract is secure against all possible attacks — only that specific properties hold under specific assumptions. The tool relies on the accuracy of the SMT encoding; any bug in the translation could produce false positives or negatives. It does not execute bytecode or simulate on-chain state, so it cannot catch runtime gas issues or reentrancy that depends on the exact EVM implementation.
PLEASE NOTE
This tool is for EVM-compatible chains only. It does not support Solana, Tron, Starknet, SUI, TON, Aptos, Bitcoin, Cosmos, or XRP. The verification is a simulation and does not send any transactions — it is completely read-only. Always combine formal verification with other security practices such as manual auditing, unit testing, and fuzzing. The tool's results are only as good as the properties you define: a contract can be formally verified for one set of properties and still contain critical vulnerabilities in unverified areas. Use this tool as part of a comprehensive security strategy, not as a standalone guarantee of safety.
Similar Apps
Denial-of-Service Gas-Limit Pattern Scanner
Scans Solidity contracts for DoS gas-limit patterns including unbounded loops, array iterations, and gas-intensive operations.
Signature Replay Vulnerability Scanner
Scans Solidity contracts for signature replay vulnerabilities, focusing on EIP-2612 permit, nonce, and deadline usage.
On-Chain Professional License Attestation Tool
Issues on-chain professional license attestations (EIP-4973/EIP-1155) for verified professionals with license metadata.
Guardian-Approved Recovery Executor
Execute guardian-approved wallet recoveries: view proposal details, approvals, status, eligibility, and execute recoveries.
Multi-Sig Emergency Override Executor
Emergency override for multi-sig proposals: view proposal details, confirmations, status, eligibility, and execute overrides.
DeFi Risk Analyzer
Analyze DeFi position risk with liquidation price, health factor, VaR, and stress tests.