0.3.2 Aug 23, 2022
0.3.1 Aug 13, 2022
0.2.1 Jul 22, 2022
0.1.6 Jul 5, 2022
0.1.4 May 23, 2022

#21 in #user-guide

Download history 1/week @ 2026-04-10 13/week @ 2026-04-17

118 downloads per month
Used in 126 crates (9 directly)

Apache-2.0

1.5MB
2.5K SLoC

Rust 1K SLoC // 0.0% comments VB6/VBA 1K SLoC Shell 171 SLoC // 0.1% comments

id: move-prover title: Formal verification code custom_edit_url: https://github.com/move-language/move/edit/main/language/move-prover/README.md

Code under this subtree is experimental. It is out of scope for the Diem Bug Bounty until it is no longer marked experimental.

The Move Prover

The Move Prover supports formal specification and verification of Move code. It can automatically prove logical properties of Move smart contracts, while providing a user experience similar to a type checker or linter. It's purpose is to make contracts more trustworthy, specifically:

  • Protect massive assets managed by the Diem blockchain from smart contract bugs
  • Protect against well-resourced adversaries
  • Anticipate justified regulator scrutiny and compliance requirements
  • Allow domain experts with mathematical background, but not necessarily software engineering background, to understand what smart contracts do

For more information, refer to the documentation:

Dependencies

~25–42MB
~650K SLoC