AgentShield
Trust layer for agent payments
Live on Monad Testnet
Give your AI agent a wallet, not a blank cheque.
AgentShield is a vault contract that holds an agent's funds and enforces the owner's rules on every payment. The AI can propose a payment. Only the vault decides whether it happens.
- Your sentence→
- AI model→
- AgentShield checks→
- Vault contract→
- Paid or blocked
1 · Owner
Set the rules
Register an agent with its own signing key, set a per-payment and daily limit, approve who it may pay, and deposit MON into the vault.
Owner setup →2 · Agent
Ask in plain language
An AI model such as OpenAI or Kimi turns “pay Shop 0.05 MON for coffee” into a structured request. The model only sees contact names, never addresses or keys.
Agent console →3 · Vault
The contract decides
The vault checks the signer, recipient, limits, pause switch and replay protection onchain. It pays, or it reverts and nothing moves.
Address book →Enforced by the contract, not the app
What the vault guarantees
Only approved recipients
Any other address is refused, even if the AI is tricked into naming it.
Per-payment and daily caps
Limits are checked by the contract on every payment, per UTC day.
Agent cannot withdraw
Its key can only call executePayment. Withdrawals go to the owner only.
Emergency stop
Pause blocks every payment instantly. Deactivate retires an agent.
Key rotation
If an agent key leaks, the owner swaps it in one transaction.
Verifiable receipts
Each request ID is a hash of the prompt, model, recipient and amount.
Deployed contracts
- AgentRegistry
- 0x7a91…d71a ↗
- AgentGuardVault
- 0xbdbb…a202 ↗
Honest limits
- Testnet only. Amounts are test MON with no real value.
- In this demo a person clicks Send as the agent. A production agent signs with its own key automatically, under the same vault rules.
- The model name on a receipt is declared by the server, not signed by the model provider.