Skip to content
Formal verification

Smart contract formal verification from specialist firms

Prove your critical properties hold in every reachable state, not just the ones tested.

in RFP budgets posted
$1.2M
saved, 44.5% vs single direct quotes
$525K
vetted firms quoting on the platform
70+
first quotes typically land within the hour
<1 hour

How smart contract formal verification works

Specify the properties, then prove them. If a property holds for every state, it goes in the report. If the prover finds a counterexample, fix the code or the spec and prove again.failsholdsprove againSpecifyWrite the propertiesProveRun the proverProperty holdsFor every stateReportProved, with assumptionsCounterexampleA state that breaks itFixCode or spec

25firms on Procur3 offer formal verification.

  • CredShields
  • HackenProof
  • Coinspect
  • KannAudits
  • Quantstamp
  • Hacken
  • Consensys Diligence
  • OtterSec
  • Sherlock
  • Shred Security
  • Hexens
  • Nethermind
  • Veridise
  • No.Witness Labs
  • HYDN Security
  • +10 more
  1. 01

    Post

    Share the contracts and the properties you care about.

  2. 02

    Compare

    Specialists quote with properties, method and team.

  3. 03

    Select

    Award the work and track delivery in one place.

When you need formal verification

Most protocols don't need it for everything. It earns its cost on a few properties where a single failure is catastrophic.

  • Your protocol has invariants like solvencyTotal assets must always cover liabilities, in every state.
  • You rely on non-trivial mathsAMM curves, interest models and pricing break in rare cases.
  • You're upgrading or optimising live codeEquivalence proofs show behaviour didn't change.
  • The value at stake is very largeThe cost of a missed bug outweighs the cost of the proof.

Procur3 fills a gap no other platform serves: matchmaking between protocols and audit firms. No rounds of calls just to get a quote — for our Base contracts we compared multiple high-quality providers at once and weighed their strengths per project. We'll keep doing business with them.

Antonio ViggianoRheo (prev. Size Credit)

Security isn't an afterthought for TermMax. Thanks @procur3 for helping us run a clean RFP to find specialized Daml auditors ahead of our Canton Network launch.

TermMax

Frequently asked questions

What is formal verification of smart contracts?

Formal verification uses mathematical methods to prove that a smart contract satisfies a written specification for every possible input and state. Where testing checks chosen cases, a proof covers all of them, within the assumptions it states.

What's the difference between formal verification and a smart contract audit?

A smart contract audit is a broad manual review that looks for any kind of bug. Formal verification proves specific properties hold. Audits find issues nobody wrote a property for; proofs rule out entire classes of failure for the properties they cover. High-value protocols use both.

Does formal verification prove a contract is secure?

It proves the stated properties hold under the stated assumptions. A wrong or incomplete specification, an unrealistic assumption, or a bug outside the properties can still cause a loss.

Which languages can be formally verified?

Solidity and EVM bytecode have the most tooling, including the Solidity compiler's SMTChecker and symbolic tools like Halmos and hevm. Move has the Move Prover. Rust programs and protocol designs can be verified with model checkers and proof assistants, usually by specialists.

Should formal verification happen before or after an audit?

Usually alongside or after, once the code is stable. Writing the specification often surfaces design issues early, so some teams start it during development.

Is it free to request quotes?

Yes. Posting a request and comparing quotes is free. You agree the price and terms with the firm you choose.

Prove the properties that can't fail.