Formal verification of smart contracts ensures that they are free of bugs, vulnerabilities, and other unintended behavior. This involves a human expert representing the smart contract logic in mathematical terms, then passing it through an automated process that verifies the actual logic against models of the contract’s expected behavior. The combination of formal verification and manual auditing provides a comprehensive assessment of the security of a smart contract.