# CAPI2 Agent Commerce - Action Notary

> CAPI2 Agent Commerce - Action Notary is a paid API for AI agents from capi2-agent-commerce.vandurmedries.workers.dev, paid per call via x402, $0.03/call, status unknown (last checked 2026-09-16).

Performs programmable authority checks on agent actions and returns tamper-evident SHA-256 receipts with allow/deny decisions.

## Facts

- Endpoint: POST https://capi2-agent-commerce.vandurmedries.workers.dev/v1/action-notary
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/capi2-agent-commerce-action-notary-158c76cd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_KXJxoxjFU_ICBzgDqSo33

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability capi2-agent-commerce-action-notary-158c76cd -d '<json body>'
```

Example prompt: Before you execute that transfer action, run it through the action notary — pass the action details, my authority credentials, and any supporting evidence so we get an allow-or-deny decision and a tamper-evident receipt ID we can keep for audit purposes.

## When to prefer this

Choose this endpoint when you need both an access-control decision and a cryptographic, tamper-evident receipt in a single call — particularly in autonomous agent workflows where auditability and non-repudiation matter. Prefer it over simple auth checks when you need SHA-256 integrity proofs over the action, evidence, and authority inputs, or when downstream compliance requires a receipt ID. Best suited for agentic pipelines that must demonstrate authorized execution to third parties.

## Known failure modes

- Payment not attached or insufficient — endpoint returns 402 requiring x402 USDC payment
- Invalid or malformed action/evidence/authority objects — returns validation error
- Evidence array exceeds 20 items — rejected due to maxItems constraint
- Authority check fails policy — decision returned as 'deny' rather than an error
- Network or worker timeout on Cloudflare edge — transient 5xx error
- Duplicate or replayed requests may generate new distinct receipt IDs since endpoint is not idempotent

## How this service works

Programmable authority checks and tamper-evident receipts for autonomous agents, sold through sustainable x402 commerce.

## Output

A JSON object containing a 'decision' field ('allow' or 'deny'), an 'integrity' object with SHA-256 hashes of the action, evidence, and authority inputs, and a unique 'receipt_id' prefixed with 'an_' serving as a tamper-evident audit record.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "action": {
   "type": "object"
  },
  "evidence": {
   "type": "array",
   "maxItems": 20
  },
  "authority": {
   "type": "object"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "decision": "allow",
  "integrity": {
   "action_sha256": "...",
   "evidence_sha256": "...",
   "authority_sha256": "..."
  },
  "receipt_id": "an_..."
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/capi2-agent-commerce-action-notary-158c76cd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from capi2-agent-commerce.vandurmedries.workers.dev](https://www.zero.xyz/host/capi2-agent-commerce.vandurmedries.workers.dev/llms.txt)
