# Fast and Reliable Formal Verification of Smart Contracts with the Move Prover

arXiv: https://arxiv.org/abs/2110.08362 · HTML: https://mlsanity.com/paper/2110.08362/

## Key facts

- Cited by 4 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 15 Oct 2021.

## Built on by (most cited first, 4 of 4)

- [Agentic Specification Generator for Move Programs](https://mlsanity.com/paper/2509.24515/) (2025)
- [Securing Smart Contract Languages with a Unified Agentic Framework for Vulnerability Repair in Solidity and Move](https://mlsanity.com/paper/2502.18515/) (2025)
- [Evidential Transactions with Cyberlogic](https://mlsanity.com/paper/2304.00060/) (2023)
- [Combining Mechanical and Agentic Specification Inference for Move](https://mlsanity.com/paper/2605.10005/) (2026)

## Abstract (arXiv)

The Move Prover (MVP) is a formal verifier for smart contracts written in the Move programming language. MVP has an expressive specification language, and is fast and reliable enough that it can be run routinely by developers and in integration testing in a few minutes. Besides the simplicity of smart contracts and the Move language, three transformations are responsible for the practicality of MVP: (1) an alias-free memory model, (2) fine-grained invariant checking, and (3) monomorphization. The entirety of the Move code for the Diem blockchain has been extensively specified and can be completely verified by MVP in a few minutes. Changes in the Diem framework must be successfully verified before being integrated into the open source repository on GitHub.
