Skip to main content

Overview

The policy engine evaluates every transaction before it reaches the MPC signing layer. Policies are per-agent and can be updated at any time via the SDK or REST API. The first policy violation stops the transaction immediately.

Policy Types

Spending Limits

Control how much an agent can spend:

Address Controls

Restrict which addresses an agent can send to:
If allowedAddresses is set, only those addresses are permitted. If both allowedAddresses and blockedAddresses are set, allowedAddresses takes priority.

Token Controls

Restrict which tokens an agent can transact with:

Velocity Controls

Limit transaction frequency to prevent runaway agents:

Time-Based Controls

Restrict when transactions can occur:

Human Approval

Route high-value transactions to human review:
Human approval is available on Growth and Enterprise plans. When a transaction requires approval, a webhook event is sent and the transaction enters a pending_approval state.

Policy Evaluation Order

Policies are checked in this order. The first failure stops the transaction:
1

Agent Status

Is the agent active (not frozen)?
2

Token Check

Is this token in the allowedTokens list?
3

Address Check

Is the recipient in allowedAddresses and not in blockedAddresses?
4

Amount Check

Does this exceed maxTransactionAmount?
5

Daily Limit

Would this exceed the rolling daily total?
6

Monthly Limit

Would this exceed the rolling monthly total?
7

Velocity Check

Has the agent exceeded its transaction rate (velocityLimit)?
8

Schedule Check

Is this within allowed hours and days?
9

Human Approval

Does this require human review based on the threshold?
10

Infrastructure Safety Net

Paratro-enforced hard limits (cannot be overridden).

Policy Violation Events

When a policy blocks a transaction, the API returns a detailed error:
You can also receive violations as webhook events:

Policy Templates

Use templates for common configurations:

Best Practices

Start restrictive, expand gradually. Begin with tight limits and increase as you gain confidence in your agent’s behavior.
  • Use allowedAddresses — Whitelist trusted addresses rather than relying solely on amount limits.
  • Enable human approval for high-value — Set a threshold above which humans review transactions.
  • Monitor policy violations — Track violations via webhooks to identify misconfigured agents.
  • Use velocity limits — Prevent runaway loops where an agent repeatedly attempts transactions.
  • Review policies weekly — As agent behaviors evolve, update policies to match.