Define Predicate

The term “Predicate” is used to define a function which takes a set of arguments and returns a boolean value — in our case if a transaction is approved or denied.

Predicate Functions are flexible pieces of code developers use to define rules for transactions. These rules, like legos, can be stacked to form policies, which are enforced by the Predicate Network on behalf of the application owner.

Introducing Policy

Policies are composed of rules which are composed of Predicate Functions. Operators in the Predicate Network verify that transactions adhere to the rules set forth in the policy before they are submitted onchain.

Policies are defined and managed by the application owner, and can be migrated to a multisig wallet or DAO. They are stored on Ethereum and can be updated at any time by the policy owner.

Predicate supplies you with:

  • Pre-transaction policies, set at the smart contract level, in which transactions are only executed if they adhere to rules set for the corresponding smart contract

  • Access to onchain and offchain data such as historical flow-of-funds, blockchain analytics, verifiable credentials, dynamic allowlists, and more to enforce policies

  • A trust-minimized rulemaking system for application developers to implement policies that are enforced by a network of economically incentivized operators