Ethereum Foundation
Revm formal specification - Rust / EVM
A public formal specification for Revm, the Rust implementation of the Ethereum Virtual Machine.
Verified using our tool rocq-of-rust
Formal verification since 2021
We verify selected Rust, OCaml, and Solidity components of blockchain infrastructure with Rocq/Lean-based proof workflows that can follow code changes.
(* Revm โ EVM step preserves invariant *)
Theorem step_preserves_invariant :
forall (pre post : State) (op : Instruction),
step pre op = post โ
valid_state pre โ
valid_state post.
Proof.
(* 124 lines ยท machine-checked *)
Qed.Public evidence
Public reports show the kind of proof work we deliver for blockchain infrastructure, smart contracts, and cryptographic systems.
Revm formal specification - Rust / EVM
A public formal specification for Revm, the Rust implementation of the Ethereum Virtual Machine.
Verified using our tool rocq-of-rust
ZK verification reports
Verification work on Keccak, branch equality, and LLZK-related proof artifacts for zero-knowledge systems.
Verified using our tool garden

Move type-checker - Rust
Formal verification of part of the type-checker for the Move language, focused on correctness-critical infrastructure code.
Elliptic curve library - Solidity
Formal verification work for a Solidity elliptic curve library where small arithmetic mistakes can invalidate protocol assumptions.
Verified using our tool rocq-of-solidity

Source-level verification tooling - Rust / Solidity
Source-level verification work that grew our Rust and Solidity toolchain, supporting maintainable proofs on production code.
Verified using our tools rocq-of-rust and rocq-of-solidity
Layer 1 verification - OCaml
Verification work on parts of the Tezos implementation, leading to our long-running OCaml verification toolchain.
Verified using our tool rocq-of-ocaml
What you can buy
We scope work around the small parts of a system where proof adds the most value.
A focused engagement for a code snapshot where a small set of high-value properties needs stronger evidence than tests can provide.
A recurring workflow for teams that need proofs to remain useful as requirements, code, or dependencies change.
Expert support for teams adopting formal methods or connecting production languages to Rocq/Lean proof workflows.
Where we fit
Smart contracts, protocols, and cryptographic infrastructure where bugs are public, costly, and immutable once deployed.
Token logic, AMMs, bridges, governance, and protocol-level invariants where a single bug can drain funds or break consensus.
Source-level verification for the production languages of Web3 using our translation tools and Rocq/Lean proof engineering experience.
Arithmetic, constraint systems, hash functions, and circuit-adjacent code, where implementation errors can invalidate security arguments or break interoperability between proving systems.
Open-source tooling and maintainable proof structures that make verification work replayable rather than one-off documentation.
How projects work
A focused report, specifications, and machine-checked Rocq/Lean proof artifacts for the properties agreed at the start of the engagement.
Usually not at first. The best starting point is a narrow component where failure would be costly: a control module, protocol component, cryptographic routine, type-checker rule, or interface boundary.
Formal verification complements tests, audits, and code review. It gives machine-checked evidence for selected properties that are hard to cover exhaustively with tests alone.
Smart contracts, virtual machines, type-checkers, protocol logic, and cryptographic or zero-knowledge components โ wherever a precise property matters and exhaustive testing is hard.