Policy Engine
The Policy Engine evaluates declarative policies on governed wallet routes and named provider capability invocations. Those paths use default deny when no applicable policy allows the request. Policy coverage is route-specific.Design Principles
- Default deny — new agents can’t do anything until policies are assigned
- Declarative — JSON-based policy definitions, no custom DSL to learn
- Composable — multiple policies evaluated in order; ALL must pass
- Cache-aware: policy context can be cached in Redis
Policy Types
Spending Limit
Controls how much value an agent can transact:Approved Addresses
Whitelist of addresses an agent can interact with:Approved addresses work as a whitelist. If enabled, only transactions to listed addresses are allowed. Disable this policy to allow transactions to any address.
Auto-Approve Threshold
Transactions below this value are auto-approved; above requires manual approval:Rate Limit
Controls how many transactions an agent can submit:Time Window
Restricts when an agent can transact:Allowed Chains
Restricts which blockchain networks an agent can use:Evaluation Flow
Value Units
Policy values are evaluated in the units accepted by the API for the action being checked. EVM transaction limits such asmaxPerTransaction, maxPerDay, and maxValue are normally passed as integer wei strings. UI and operator docs may display human ETH/USD equivalents, but policy enforcement should be configured with exact integer values to avoid rounding surprises.
Policy Results
Every policy evaluation returns detailed results:Approval Queue
Transactions that pass all policies except auto-approve enter the approval queue:Webhooks are dispatched for
approval_required, tx_signed, tx_rejected, and tx_failed events. Configure your webhook URL via the Tenants API.Related
- Policies Guide — Configuring policies step-by-step
- Policies API Reference — CRUD API for policy management
- Vault API Reference — Signing and approval endpoints