Participants
The entities which comprise the Predicate Network
Applications
“Application” is the term we use to refer to all the components which comprise a product and protocol. For example, the Uniswap interface and smart contracts collectively make up the Uniswap Application.
In the Predicate Network, application owners are responsible for defining the rules which govern the behavior of their business logic. Collectively these rules are referred to as a “policy.” Policies are a set of rules, or conditional expressions, that determine a transaction’s acceptance into a smart contract.
Applications serve as the demand side of the Predicate Network. They require the services of Operators to validate a transaction’s adherence to their policy, and Information Providers to supply data for the policy.
Applications
“Application” is the term we use to refer to all the components which comprise a product and protocol. For example, the Uniswap interface and smart contracts collectively make up the Uniswap Application.
In the Predicate Network, application owners are responsible for defining the rules which govern the behavior of their business logic. Collectively these rules are referred to as a “policy.” Policies are a set of rules, or conditional expressions, that determine a transaction’s acceptance into a smart contract.
Applications serve as the demand side of the Predicate Network. They require the services of Operators to validate a transaction’s adherence to their policy, and Information Providers to supply data for the policy.
Operators
Entities responsible for validating that transactions adhere to the destination protocol’s policy. For each inbound transaction, Operators fetch the destination protocol’s onchain policy. Operators then sign the transaction object along with an approval or denial message, and return it back to the caller.
Due to the critical role that Operators play in the network, the Predicate labs entity has permissioned the Operator network on mainnet, selecting Operators based on identity, reputation, and historical performance.
In the future, Predicate will transition to a permissionless, proof-of-stake network.
Information Providers
Information providers are entities which offer services to be used within policies (e.g. anomaly detection engines, ZK proof providers, risk scores, etc.)
As a reminder, policies are a set of rules or conditional expressions that determine a transaction’s acceptance into a smart contract. When defining policies, developers can define rules which leverage both onchain and offchain data. In either case, developers must specify an Information Provider.
There are two types of Information Providers in the Predicate Network: native and external.
Native
Native Information Providers are maintained by individual Operators within the Network. They take on two forms: compute over archival nodes to prove onchain historical state of EOAs or smart contract accounts and Social Graphs, a mechanism of tracking relationships between accounts on all EVM chains.
External
External Information Providers are entities with valuable information which aim to distribute their services onchain. These providers enhance the flexibility and functionality of policies by offering data not inherently available within the transaction or the EVM itself. By integrating with external APIs, developers can incorporate diverse types of data or analysis to create more robust and dynamic policies.
Examples of rules that can be configured using External Information Providers include: