AI Agent Oriented Design

mechanism identity

Native infrastructure for autonomous economic actors.

Maroo provides KYA (Know Your Agent) verification and transaction modules for autonomous agents, ensuring accountability and strict boundaries for AI-driven economic activity.

Know Your Agent (KYA)

Every AI agent operating on Maroo must be cryptographically linked to a verified human or corporate owner, ensuring legal liability is always clear.

Delegation Scopes

An owner sets its agent's on-chain spending cap by writing the agent's TransferLimit metadata on the IdentityRegistry — the per-transfer limit that AGENT_OKRW_TRANSFER_LIMIT_POLICY reads. The owner cannot register that policy, or a blocklist of counterparties (DENYLIST_POLICY), for its agent's own transfers: PCL has no per-agent scope. Global policies are set only by the PCL policy admin, and a contract policy binds only to a PCL-registered proxy or a policy-aware precompile; binding one to an agent wallet reverts with ContractPolicyNotRegistered. So the cap takes effect only where the policy admin puts AGENT_OKRW_TRANSFER_LIMIT_POLICY into the global policy (the testnet's global policy does not include it), or where a contract admin binds it to a PCL-wrapped proxy the agent calls. No per-agent cap applies by default, but the testnet's global policy still covers every agent wallet: without an EAS attestation on the wallet or on one of its owners, a transfer is capped at 2,000,000 OKRW, and the wallet's transfers count toward each owner's 10,000,000 OKRW per UTC day unless that owner is attested (see two-layer-policy-model).

Enforcement at execution time

Delegation scopes are enforced on-chain only by the policies actually configured for the agent's transaction path — on its own, the TransferLimit metadata restricts nothing: AGENT_OKRW_TRANSFER_LIMIT_POLICY caps a single transfer against the on-chain TransferLimit metadata, and EAS_POLICY requires an EAS attestation — of the sender, or, inside a policy that iterates over an agent's owners, of each owner. A transaction that falls outside a configured policy is rejected. There is no protocol-level revocation: the IdentityRegistry has no revoke function, and nothing on-chain rejects a transaction because an agent's metadata says "revoked" — that status is a convention only the off-chain layer (MAWS) honours.
ESC
Type to search