AgentGuard

A spending firewall for AI agents, on NEAR

If the AI is fooled, the contract still says no.

An AI agent that can pay is one prompt injection away from paying a scammer. AgentGuard takes its spending rules out of the prompt and puts them in a NEAR contract the agent can't get around, and that even its owner can lock for good.

Sentinel is an AI with real (testnet) money on an AgentGuard vault. Try to talk it into paying you. Or don't trust any of this, and verify it.

Sentinel's vault
…
Rules locked
…
Payments it refused
…
Attacks answered as the rules say
…

Read live from NEAR testnet by your browser.

How it works

  1. The money sits in a vault nobody can drain

    A factory creates each vault from immutable code, with no full-access key. No person or program holds a key that can sign a transfer out of it.

  2. The agent can only ask

    The agent gets a key that can call one method: request_payment. It can ask to pay. It can't pay.

  3. The contract decides, every time

    Per-payment and daily caps, an allowlist, a hold on repeated payments (the "it failed, please retry" trick), and a lookup in a shared scam registry. If the registry doesn't answer, the payment is blocked.

  4. Lock it for good

    lock_rules() is one-way. After it, nobody, owner included, can loosen the rules or withdraw. Pausing and denying still work.

One attacker, three answers. All on-chain.

An agent asked vault demo2 to pay the same account three times. In between, two different accounts reported it to the shared registry. The agent didn't change. The vault's answer did.

  1. Paid

    0.1 NEAR to agentguard-evil.testnet. Allowlisted, no reports yet.

    tx EhtM…
  2. Held

    0.11 NEAR, after one report: recipient_reported. Waits for the owner.

    tx 28dd…
  3. Blocked

    0.12 NEAR, after a second reporter: recipient_flagged. Blocked in every vault that uses the registry.

    tx AdDc…

The platform

Five parts, all live on NEAR testnet, all open source.

Built on AgentGuard

Live

Sentinel

An AI agent with money of its own, on a locked AgentGuard vault. It sells "is this address safe to pay?" checks to other agents over HTTP 402, pays for its own thinking every 10 minutes, and verifies that its model runs in a TEE. Anyone can try to talk it into paying them.

In its vault
…
Paid out, all to its compute
…
Refused by the vault
…
Launch Sentinel

Your turn

Your agent

Create a vault with a NEAR wallet in about two minutes, set its limits, and give your agent a key that can only ask. The key is made in your browser; only its public half goes on-chain.

Don't trust this page. Verify it.

Every claim above can be checked on the chain. Press the button and your browser asks NEAR testnet directly (rpc.testnet.fastnear.com), not our server. Each line shows what the chain said.

    From a terminal, the same checks and more (every transaction in TESTNET-RESULTS, all 240 stress results): node scripts/verify-evidence.mjs

    Give your agent a wallet it can't empty

    Add the MCP server to Claude Code, point it at a vault, and ask it to pay. The vault decides.

    claude mcp add agentguard -e AGENTGUARD_VAULT=your-vault.agentguard.testnet \
      -- node /path/to/AgentGuard/packages/mcp/dist/index.js

    Seven tools: pay, check an address, balance, policy, payment status, history, and buying Sentinel's paid check. Full README.