Policy Firewall for AI Agent Payments
AgentOps authorizes every on-chain action before an agent can move value — across Casper, Sepolia, and Base. Spend caps enforced. Every decision anchored on-chain forever.
Innovating upstream of the application layer
AgentOps intercepts every on-chain action at the intent layer — before wallet interaction, before gas estimation, before broadcast.
OPEN CONSOLE→Every intent checked before signing
Spend caps, per-transaction maxima, service scope whitelist, rail permissions, velocity limits — all evaluated atomically in Redis before a single byte of PAYMENT-SIGNATURE is produced.
AI agents call Guard directly via MCP
Five MCP tools let Claude Code and other agents run policy checks, request authorizations, query decision status, and pull judge-verifiable audit exports — all over JSON-RPC 2.0.
Casper, Sepolia, Base — one policy
Policy enforcement always runs on Casper. The actual transaction executes on whichever network the agent is on. Decision proof is anchored to the AgentOpsRegistry regardless.
Four steps from intent to anchored proof
Agent sends an intent
Claude Code or any MCP-capable agent calls casper_guard_check with the action kind, network, resource, and asset. No private keys leave the agent.
Guard evaluates every dimension
Spend cap, per-tx max, velocity window, service scope, rail permission — checked atomically in Redis against the operator-defined policy object.
ALLOW or DENY, immutable
An ALLOW reserves a hold and returns a decision_id. A DENY returns the reason code and the list of allowed values — no partial state, no ambiguity.
User broadcasts, server anchors
The user signs and broadcasts from their own wallet. They pass tx_hash to casper_guard_reconcile. The server transitions the hold to SETTLED and anchors the proof to GuardRegistry on Casper.
No policy pass. No PAYMENT-SIGNATURE.
Every DENY is recorded with the full audit payload: decision ID, reason code, network, rail, asset, policy ref, and anchor evidence. Judge-exportable, immutable.
ALLOW decisions flow RESERVED → SETTLED → anchored to AgentOpsRegistry via Odra contract.
- decision_id
- cgd_8f3a1b2c…
- outcome
- DENY
- reason_code
- service_not_allowed
- network
- casper:casper-test
- action_kind
- cspr-trade
- asset
- CSPR / native
- anchor_hash
- —
- timestamp
- 2026-06-25T21:14:07Z
