Agent Policy Semantics
Rules defining how much an agent can spend and where it can send funds.
Agent policies are the primary risk control mechanism in MAWS. They consist of a spendingLimit (maximum OKRW per transaction) and allowedTargets (an allowlist of destination addresses). These rules are stored on-chain in the IdentityRegistry and enforced on two layers: the MCP server runs them as an off-chain preflight, and PCL re-runs them at consensus level so a bypass of the off-chain check still cannot ship.
Spending Limits
The
spendingLimit is stored on-chain in aokrw, the base denom (see okrw-precompile-overview for the unit ratio). A value of 0 means unlimited spending. If an agent attempts to send an amount exceeding this limit, the transfer.send tool will return a POLICY_REJECTED error. Notably, transfers back to the agent's owner are subject to this limit to prevent accidental total drains, requiring large withdrawals to be chunked.{
"spendingLimit": "1000000000000000000000000", // 1,000,000 OKRW (1_000_000 * 10^18 aokrw)
"allowedTargets": [] // Empty means all targets allowed
} Allowed Targets
The
allowedTargets array restricts which EVM addresses the agent can interact with. If the array is empty, the agent can send funds to any address. The agent's owner address is implicitly allowed, meaning an agent can always return funds to its creator regardless of the allowlist.