Certora

CertoraProver: Formally Verify Smart Contracts

Certora Prover checks smart contracts against formal specifications to find violations before deployment. It targets developers and security teams working with EVM-based chains, Solana, or Stellar who need automated verification.

View on GitHub Compare
Stars
336
Forks
48
Stars, last 30 days
+5

Our take

Health score

56/100

How it is scored
Activity
69
Community
74
Issues
21
Pull requests
61

+5 stars in the last 30 days

  • Releases more often than 82% of the projects we track

Project history

Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.

Selected snapshot

Stars

342

Forks

53

Change since Nov 14, 2026: 0 stars·0 forks

Overview

Certora Prover is a formal verification tool for smart contracts. Rather than relying only on tests that exercise selected examples, it checks whether contracts satisfy specified properties and helps surface violations.

It is intended for developers and security teams who need stronger assurances about contract behavior across EVM-based chains, Solana, or Stellar. The repository contains the prover source and contributor build instructions; users who want to run verification without building locally can use Certora's cloud platform and documentation.

Key Features

  • Formally verifies smart contracts against specified properties.
  • Supports smart contracts running on EVM-based chains, Solana, and Stellar.
  • Provides a command-line entry point, certoraRun.py, for running the tool.
  • Includes sample EVM projects under Public/TestEVM.
  • Includes unit tests that can be run through Gradle or an IDE.
  • Supports multiple SMT solvers, including required Z3 and CVC5, with optional solvers also documented.

Use Cases

  • Smart-contract developers can check whether code meets intended behavioral properties before a release.
  • Security teams can use formal verification to investigate contract behavior beyond conventional test cases.
  • Protocol teams can evaluate contracts for EVM-based chains, Solana, or Stellar.
  • Contributors can build the prover locally, run its tests, and propose changes through the repository's review process.

Getting Started

The local build requires the listed dependencies and a configured CERTORA output directory. Clone the repository with its submodules and assemble it:

git clone --recurse-submodules https://github.com/Certora/CertoraProver.git
cd CertoraProver
./gradlew assemble

See the README for dependency setup, sample runs, testing, and troubleshooting. For using the tool without a local build, consult the Certora installation guide.

Alternatives

  • Wake: Wake focuses on Solidity fuzz testing and vulnerability detection, while CertoraProver verifies contracts against formal specifications.
  • Trident: Trident fuzzes Solana programs for bugs, while CertoraProver checks smart contracts against formal specifications across several chains.
ProjectLanguageLicenseStarsStatus
CertoraProverKotlinGPL-3.0336Not checked yet
wakePythonISC376Quiet
tridentRustMIT407Quiet

Considerations

  • A local build has substantial prerequisites, including JDK 19+, Python 3, Rust, Solidity compiler versions appropriate for the contracts, and required SMT solvers Z3 and CVC5.
  • This repository is primarily aimed at contributors building the prover. Contract users may find the cloud platform and user guide more suitable.
  • The project is licensed under GPL-3.0, which should be considered when incorporating or distributing the software.

Found this useful?

Share it with someone who would like CertoraProver.

Comparisons