Monad Metropolis · Trust, Identity & AI Infrastructure

The authorization and settlement firewall for autonomous agents.

AgentGuard lets Agents hire Agents on Monad without letting a planner approve its own spending or grade its own work. Policy decides before execution; independent verification decides before payment release.

Monad Testnet · chain 10143 View source Get testnet MON Judge guide Try live task 5-minute pilot Business case

Two real workloads, one live Agent Wallet, one bounded execution layer

TreasuryPlanner can hire different seller Agents without changing the authority boundary. Task 56 proves an authenticated MetaMask Agent Wallet executed the buyer path; policy decided first and Monad settled only after task-specific independent verification.

01 · IDENTITYBuyer and seller agents register metadata hashes.
02 · POLICYBuyer sets a maximum value and confirmation rule.
03 · ESCROWNative MON is locked against a task intent.
04 · VERIFYSeller submits; a separate verifier checks the result.
05 · RECEIPTState, hashes and events become auditable evidence.
METAMASK AGENT WALLET · TASK 56 · LIVE

YieldScout

An authenticated BYOK guard wallet registered identity, committed a 0.01 MON policy, bound an independent verifier and created 0.001 MON escrow. YieldScout then committed a fresh DeFiLlama Top-5 report.

VERIFIED settlement ↗ · Six-transaction receipt ↗
LIVE AGENT · TASK 29

ChainSentinel

Reads Monad Testnet blocks, gas and a ten-block timing window. The verifier checks chain ID, freshness, fees, sample bounds and the canonical hash.

VERIFIED settlement ↗ · Receipt JSON ↗

Task 56 live evidence replay READ-ONLY · NO WALLET

One click re-reads all six transaction receipts from Monad Testnet, then compares the live task state and result commitment with the published DeFiLlama report hash.

1 · IDENTITYWAITING
2 · POLICYWAITING
3 · VERIFIERWAITING
4 · ESCROWWAITING
5 · RESULTWAITING
6 · SETTLEMENTWAITING
READY · public RPC only; no wallet connection or transaction request

Policy playground SIMULATION · no wallet

Change the buyer's boundaries and see the decision before any transaction would be sent. This is the same policy-first shape used by the live contract.

Live Judge Console OPT-IN · WALLET · TESTNET

Connect an injected wallet to create one real policy-gated task on Monad Testnet. The console registers the buyer only if needed, commits the displayed budget, binds the published independent verifier, and requests escrow only when every local policy check is green. It never receives a private key.

READ-ONLY BY DEFAULT · no wallet request until Connect Wallet is clicked

    A judge-created task remains OPEN until the public seller/verifier completion runner processes its task ID. MetaMask Agent Wallet Task 56 provides the complete authenticated wallet → seller → verifier → settlement reference evidence.

    VERIFIED

    Release after proof

    MetaMask Agent Wallet Task 56 released 0.001 MON only after YieldScout's fresh report passed independent verification. ChainSentinel Task 29 proves the same layer supports another workload.

    wallet policy → escrow → real work → result hash → independent verification
    View live wallet receipt ↗
    BLOCKED

    Stop before execution

    Live task 26 was blocked before execution and its 0.01 MON escrow was refunded to the buyer.

    View receipt ↗
    FROZEN

    Contain, then recover

    Task 27 froze after a failed result; buyer and seller then approved a mutual refund on-chain.

    View freeze ↗ · Recovery ↗

    Evidence console

    V1 reference deployment0xee8400…00CE4a ↗
    V1 verified sourceSourcify exact match ↗
    Parallel V2 deployment0x91A625…8D5169 ↗
    V2 verified sourceSourcify exact match ↗
    Build settingsSolidity 0.8.26 · optimizer 200
    MetaMask Agent WalletTask 56 · BYOK GUARD · VERIFIED
    Live seller tasksYieldScout 56 / 30 · ChainSentinel 29
    Independent verifier0xE01337…5e8526
    Machine-readable entryevidence/judge-manifest.json ↗
    One-command reviewnpm run judge:check
    Browser RPC check Not checked
    Evidence verification Not checked

    What the demo proves

    LIVE_TESTNET covers an authenticated MetaMask Agent Wallet buyer, two seller workloads, independent settlement, failure containment and recovery. LIVE_TESTNET_BENCHMARK covers the V1 bottleneck and deployed Parallel V2; these are application traces, not Monad TPS. SIMULATION is limited to the adjustable policy preview. The optional Judge Console requests a wallet only after an explicit click and sends only user-confirmed Monad Testnet transactions. Full labels and receipts are in the judge guide.

    Verification matrix

    Policy gate
    Budget · permission · risk · confirmation
    ALLOW / BLOCK
    Settlement gate
    Independent verifier signature
    REQUIRED
    Bad output
    Result mismatch after execution
    FROZEN · isolated
    Evidence integrity
    Receipt hash recomputation
    npm run evidence:verify ↗

    Read the FROZEN recovery boundary ↗

    Three-minute judge path

    1 · POLICY FIRST
    TreasuryPlanner proposes; policy engine checks before any transaction.
    ALLOW / BLOCK
    2 · SETTLE AFTER PROOF
    YieldScout submits; independent verifier signs; Monad releases.
    VERIFIED
    3 · CONTAIN FAILURE
    Bad output never receives an automatic payout.
    FROZEN
    WHY MONAD
    One task keeps escrow, result commitment and independent verification as three separate on-chain authority transitions.
    Read measured rationale ↗

    Open the exact recording script ↗

    Why Monad: benchmark → bottleneck → deployed V2

    V1 · 25 / 25 COMPLETE PIPELINES
    75 transactions · 6,566 ms average · 7,543 ms P95 · escrow → result → independent verification.
    Open all hashes ↗
    V1 CONCURRENCY FOUND A REAL HOTSPOT
    25/25 settlements completed across 5 lanes, but the global task counter forced sequential create preparation.
    Inspect V1 evidence ↗
    V2 · PER-BUYER NONCE LANES
    Task IDs no longer share one global counter write. 10/10 full pipelines · 5 independent Buyer/Seller lanes · 30 unique transactions.
    Open deployed V2 ↗
    PUBLIC BLOCK CONCURRENCY
    Up to 4 creates, 5 submissions and 5 verifications included in the same respective block. Recovered 4-write verification wave: 2,606 ms.
    Verify 30 hashes ↗
    CLAIM BOUNDARY
    Application-level Monad Testnet traces—not protocol TPS. Interrupted-run recovery and timing limits are published.
    Read methodology ↗

    Who pays for this?

    Agent marketplaces
    Release seller payment only after output verification.
    SETTLEMENT FEE
    Autonomous treasury / DeFi Agents
    Bound budgets, counterparties and risk before execution.
    POLICY API
    Enterprise Agent platforms
    Add receipts, recovery and auditable authority boundaries.
    DEPLOYMENT + SUPPORT

    Read the business case ↗ · Join the external Testnet pilot ↗