For example, the lending invariant described above (the function that computes interest is an increasing monotonic function) can be expressed through a function-level invariant. , through external tools, watching for transactions that break invariants On-chain invariants , which are executed directly within the smart contract and act as post-conditions when users interact with the contract Security researchers have used invariants to assess contracts for many years; our public reports include invariants that are over six years old, and their usage has been crucial in most of our security reviews.