Formal Design and Modeling logoFormal Verification

Runtime Verification website hero

Formal Verification grants developers the highest security assurance. Instead of just looking for bugs, verify that your implementation adheres to specs for the entire input space.

Use
Kontrol is an open-source free-to-use tool. You can start verifying for free now.
$0/ free
Symbolic execution for Solidity contracts
Turn Foundry tests into formal proofs
Run proofs locally
No need to learn new semantics/language
TRY FOR FREE
Consult
Most Popular
Let us set up the tools on your codebase, teach you how to use it, and write tests and lemmas with you.
$30k/ month
One full-time engineer dedicated to your project, entire team of formal engineers in support
We setup Kontrol and remote compute for your project
Advise on writing proofs and improving specifications
Assist in writing lemmas for Foundry tests
REQUEST A DEMO
Outsource
We produce the specifications and run formal verification for you.
$50k/ month
Two full-time verification engineers
Enable symbolic execution of proofs in CI
Aid in development lifecycle
Applicable pre or post implementation
REQUEST A DEMO

Common Questions

Formal methods mean better security, cheaper audits

How is testing the entire input space possible?
Symbolic execution allows exploring all possible execution paths in a program by using symbolic values instead of concrete data. This ensures every potential input is considered, surpassing traditional fuzzing methods that rely on random inputs.
Is it difficult?
It is not much more complex than writing Foundry tests. Our team can help streamline the process, teaching your developers to master formal methods quickly. Proofs are written in Solidity!
Is it expensive?
No! Engineer time to set up Kontrol and write proofs is cheaper than traditional audit rates. Plus, having rock-solid, formally verified specifications simplifies the audit process. Formal Verification integrated into your CI helps ensure that the code is correct as it evolves, providing continuous secruity assurance.
Why formally verify?
Formal verification ensures a holistic approach to security, leading to better system design and solid implementation. It catches edge cases early, integrating security from the start rather than as an afterthought.

Formal Methods Development Cycle

1
Mechanism Design
Prepare the specifications for the smart contract in plain EnglishOutline the system in plain English
2
Define Specifications
Prepare the specifications for the smart contract in plain EnglishDevelop formal specifications from the design.
3
Implement
Prepare the specifications for the smart contract in plain EnglishWrite the smart contracts based on the specifications.
4
Execute Symbolically
Prepare the specifications for the smart contract in plain EnglishTest the implementation against the formal specifications.
5
Iterate
Prepare the specifications for the smart contract in plain EnglishRefine the implementation to fix bugs and address edge cases.
6
Streamline Audit
Prepare the specifications for the smart contract in plain EnglishDeliver well-polished, formally verified smart contracts to auditors, bug bounties, and contests.

Featured Formal Verification Reports

Alchemix
EigenLayer
Ethereum
Hatom
optimism
Uniswap