What’s new
- Multi-chain support — deploy to multiple chains and manage them from a single project
- Offchain policy management — update policies through the dashboard without onchain transactions; changes are enforced immediately
- BasicPredicateClient — a simpler integration path for who-based policies (AML/KYC, allowlist/denylist, geo-restrictions) that removes the need for calldata encoding
Changes
- Policy Management
- Smart Contracts
- API
- Offchain SDK
In V1,
policyID on your contract selected which policy was enforced. Changing policies required an onchain setPolicy() transaction.In V2, the onchain policyID is set to a verification_hash value once during dashboard onboarding. Policy selection and updates are managed entirely through the dashboard and enforced immediately. The onchain policyID remains unchanged.Migration checklist
Deploy new contracts
If you must upgrade your contracts instead, reach out to the Predicate team to coordinate
BasicPredicateClient or PredicateClient with the Predicate Registry address and deploy.Onboard to dashboard
Create a new project on app.predicate.io, find the verification_hash value and set it as the PolicyID on your contract to prove ownership. Configure your policy through the dashboard.
Update offchain service
Point API calls to
/v2/attestation with chain (string) instead of chain_id. If using the SDK, import from @predicate/core/v2 and replace evaluatePolicy() with requestAttestation().