- EVM
- SVM
Smart Contracts
Select client contract
Choose between BasicPredicateClient or the default PredicateClient based on your policy needs
Inherit and implement
Your contract will inherit the selected client contract and implement the protected functions
Mental model
- Predicated functions on your contract require an
Attestation, produced by the Predicate API. - The contract, via
PredicateClientorBasicPredicateClient, verifies the attestation onchain before executing business logic. - If the attestation is valid and unexpired, execution proceeds; otherwise the transaction reverts.
Both PredicateClient and BasicPredicateClient contracts leverage ERC-7201 namespaced storage for upgrade safety and are audited.
Installation
Examples
- BasicPredicateClient
- PredicateClient
Recommended for simpler who-based policies. Some examples include AML/KYC, allowlist/denylist, and geo-restrictions.
Vault Example
Deployment
After implementing the Predicate Client, you’ll need to set the Registry address and PolicyID._registry: The Predicate Registry address. See Supported Chains._policyID: The policy identifier generated from the predicate dashboard - you’ll get this in the next step.
Next Step: Dashboard Setup to configure your organization and policies.
