# Agent Contract Proof Verifier

> Agent Contract Proof Verifier is a paid API for AI agents from agent-contract-proof.mattskowronis.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Compares an agent's advertised contract with its live x402 payment challenge and returns deterministic cryptographic proof of consistency or change.

## Facts

- Endpoint: POST https://agent-contract-proof.mattskowronis.workers.dev/v1/verify
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent-contract-proof-verifier-5a4de356
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_cTJBaGZp6zD-cBFt4uH-N

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 agent-contract-proof-verifier-5a4de356 -d '<json body>'
```

Example prompt: Can you verify that the agent at https://my-agent.example.com is still serving the same x402 contract it advertised — compare its live challenge with the contract hash a4f3c2e1b8d79f6a3e2c1d5b0a9f8e7d6c5b4a3f2e1d0c9b8a7f6e5d4c3b2a1 and give me proof if they match?

## When to prefer this

Use this endpoint when you need cryptographic, deterministic proof that an x402-compatible agent's live payment challenge matches its publicly advertised contract spec — especially before trusting an agent with payment, automating workflows that depend on contract stability, or auditing for tampering or drift. Prefer this over manual inspection when you need a verifiable, machine-readable proof artifact.

## Known failure modes

- Agent URL is unreachable or returns a non-402 response — verification cannot proceed
- URL does not serve an x402 challenge — endpoint returns an error indicating no payment challenge found
- expected_hash is provided but malformed (not 64 hex characters) — request rejected with validation error
- Agent contract has changed — mismatch proof returned, not an error, but signals drift
- Network timeout contacting the target agent — returns a connectivity failure
- Invalid HTTP method specified — may fall back to GET or return an error

## How this service works

Compare an agent's advertised contract with its live x402 challenge and return deterministic proof.

## Output

Returns a deterministic proof object indicating whether the agent's live x402 challenge matches its advertised contract, including a computed contract_hash, a match/mismatch status, and evidence of any contract change if an expected_hash was provided.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "maxLength": 2048,
   "description": "Public HTTP or HTTPS agent/API URL. An origin URL may be resolved through discovery metadata."
  },
  "method": {
   "enum": [
    "GET",
    "POST",
    "PUT",
    "PATCH",
    "DELETE"
   ],
   "type": "string",
   "description": "Optional method to probe. If omitted, the advertised method is used, then GET as a fallback."
  },
  "expected_hash": {
   "type": "string",
   "pattern": "^[a-fA-F0-9]{64}$",
   "description": "Optional previous contract_hash. A mismatch proves the public contract changed."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent-contract-proof-verifier-5a4de356/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent-contract-proof.mattskowronis.workers.dev](https://www.zero.xyz/host/agent-contract-proof.mattskowronis.workers.dev/llms.txt)
