AI Agents
AI agent identity and tooling on Maroo. On-chain identity sits on the ERC-8004 IdentityRegistry preinstall plus the Agent precompile (discovery + indexed reads). Two integration paths for building agents: @maroo-chain/mcp is the lightest path, with knowledge, chain reads and a local-key testnet wallet that signs and sends transfers; MAWS (Maroo Agent Wallet Stack) is the stateful toolkit when an agent needs to hold balances, sign transfers, and run on-chain policy.
Agents
@maroo-chain/mcp is the official Maroo MCP server — an npx-installable Model Context Protocol kit that gives any compatible AI client (Claude Code, Cursor, Claude Desktop, Windsurf, Gemini CLI) Maroo's knowledge base, chain and PCL reads, and a local-key testnet wallet. It is not read-only: its wallet tools create or import a private key and sign and broadcast testnet OKRW transfers with it. Pair it with @maroo-chain/m-aws when the agent needs WaaS-managed AA wallets under on-chain policy, or run it standalone when the agent mainly needs to understand Maroo.
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, but only MAWS enforces them: the MCP server checks them before it signs. No chain module reads them, so a transaction sent with the agent wallet's key outside MAWS is not stopped by them; the per-agent cap the chain itself can enforce is the separate TransferLimit key (see two-layer-policy-model).
MAWS agents operate as Account Abstraction (AA) wallets, meaning their gas fees can be sponsored or delegated. The gasSource setting chooses who covers the execution costs: the WaaS Paymaster, the agent itself, or (experimental, not yet routed on-chain) the human owner.
Owner-level limits come from the chain's Programmable Compliance Layer (PCL) global policy, not from MAWS. KYC is an EAS attestation. On Maroo Testnet a sender without one is capped at 2,000,000 OKRW per transaction and 10,000,000 OKRW per UTC day, and these caps apply whatever an agent's MAWS spendingLimit allows.
The Maroo Agent Wallet Stack (MAWS) bridges the gap between autonomous AI agents and the Maroo blockchain. It provides a Model Context Protocol (MCP) server that exposes wallet operations as standard tool calls, allowing agents to hold value, transact, and manage policies. The architecture is built on a layered model—Identity, Knowledge, Interface, Wallet, Compliance, and Commerce—ensuring that agent actions remain secure, compliant, and traceable.
When transferring an agent from one human owner to another using transfer.initiate, the agent enters a locked state. The transfer request has a 24-hour Time-To-Live (TTL), during which the recipient must accept it.
MAWS checks an agent's policy before it signs, so an AI agent gets immediate feedback. Those MAWS rules — spendingLimit, allowedTargets, status — are stored on-chain as IdentityRegistry metadata, but only MAWS enforces them; the chain does not read them. What the chain enforces is a separate layer, the Programmable Compliance Layer (PCL), configured with its own global and contract policies. Its one per-agent cap reads a different metadata key, TransferLimit.
Identity
The Agent precompile at 0x100000000000000000000000000000000000000A is a thin view-only surface. It exposes getParams() (returning the ERC-8004 identityRegistry and reputationRegistry addresses this chain resolves) and getAgentIds(wallet, pageRequest) (a paginated lookup of the agent IDs whose ERC-8004 agent wallet is wallet, read from a chain-side index). Everything else — registration, the agent URI, metadata, the agent wallet, ERC-721 ownership — goes directly to the ERC-8004 IdentityRegistry preinstall at 0x8004000000000000000000000000000000000001, which has no attest or revoke function.
Maroo provides KYA (Know Your Agent) verification and transaction modules for autonomous agents, ensuring accountability and strict boundaries for AI-driven economic activity.
Maroo treats AI agent identity as a chain-level primitive by installing an ERC-8004 Identity Registry as a preinstall at a fixed, well-known address (0x8004000000000000000000000000000000000001) instead of leaving each dapp to deploy its own. On Maroo Testnet it arrived with the v0.4.0 chain upgrade (block 6,372,905) rather than at genesis. Registration, the agent URI, per-agent metadata and the agent wallet use the ERC-8004 v1 Identity Registry ABI, so tools that speak that ABI work unchanged; the registry has no attestation or revocation function. The Maroo-specific agent precompile sits beside it: it returns the registry addresses and maps an agent wallet to its agent IDs (see agent-precompile-overview).