Proof, not promises

Verify a receipt yourself.

Every money action an agent takes under AgentGuard settles to a content-free, Ed25519-signed receipt. You should not take our word that it is real. Mint one below, verify it against the live verifier, then change a single byte and watch verification fail. Same endpoints a design partner runs in production. No account, no key.

Step 1 · mint & verify, live

Mint a real receipt, then verify it.

"Mint" calls the production gate at /api/gate/authorize and returns a signed receipt. "Verify" posts it to /api/verify, which checks the Ed25519 signature against the pinned AgentGuard signer key. "Tamper" edits the amount and re-verifies, so you can see a forged receipt rejected.

No receipt verified yet. Mint one, or paste your own and press Verify.
Every call here is a live request to agentguard.run. Open your network tab and watch.
Step 2 · the signer key

Who signed it, and verify offline.

The receipt carries the signer's public key and an 8-byte fingerprint. AgentGuard publishes the same key as a JWKS so you can verify receipts entirely offline, with no call back to us. The private key never leaves the customer runtime; we only ever see metadata.

fetching signer key from/.well-known/jwks.json
Step 3 · from your own terminal

The same round-trip in curl.

Copy these into a terminal. The first mints a receipt, the second verifies it, the third edits the amount and gets it rejected. Nothing here touches a prompt, a completion, or a customer record: the gate accepts metadata only.

# 1. mint a signed authorization receipt (metadata only)
curl -s https://agentguard.run/api/gate/authorize \
  -H "content-type: application/json" -d '{
    "tenant_id":"demo","agent_id":"support-agent","capability_claim":"payment_execute",
    "action":{"type":"refund","amount_cents":14250,"currency":"USD","target_system":"payments_processor"},
    "policy":{"id":"refunds-tier-1","version":"1","window":"per_day","window_cap_cents":500000,
      "rules":{"refund":{"required_capability":"payment_execute","review_above_cents":40000,"hard_block_above_cents":200000}}}
  }' | tee receipt.json | jq .decision

# 2. verify it (expect ok: true)
jq '{receipt: .receipt}' receipt.json | curl -s https://agentguard.run/api/verify \
  -H "content-type: application/json" -d @- | jq .

# 3. tamper: change the amount, verify again (expect ok: false)
jq '{receipt: (.receipt | .action.amount_cents = 1)}' receipt.json | curl -s https://agentguard.run/api/verify \
  -H "content-type: application/json" -d @- | jq .
What this proves

Authenticity, not opinion.

A valid signature proves the receipt was issued by the AgentGuard signer and has not been altered since. It records that the customer's policy was evaluated and what was permitted under it. It is an audit record, not a claim that the underlying action was safe, compliant, or correct, and it carries no customer content by construction. Receipts are cryptographic records that can be entered as evidence at the trier of fact's discretion. Independent verification remains required.