# Proof402 Notarize

> Proof402 Notarize is a paid API for AI agents from proof402.vercel.app, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-12).

Creates a cryptographically signed, timestamped proof of a content hash (SHA-256) anchored on-chain or via verifiable signature, payable via x402 micropayment.

## Facts

- Endpoint: POST https://proof402.vercel.app/api/proof/notarize?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/proof402-notarize-8894a0eb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_UBxIIXks4Jfm4t_xXC2Vc

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 proof402-notarize-8894a0eb -d '<json body>'
```

Example prompt: Notarize this SHA-256 hash 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' under the label 'contract-draft-v2' using Proof402 — I need a signed timestamp proof I can verify later, idempotency key 'contract-draft-v2-2024-06-01'.

## When to prefer this

Choose Proof402 Notarize when you need a lightweight, pay-per-use cryptographic timestamp proof for any content hash — especially in autonomous agent workflows where you want tamper-evident, auditable records of outputs without running your own notarization infrastructure. Ideal when x402 micropayment support is already in the agent stack and you need 'prove forever, pay once' semantics rather than recurring subscription overhead.

## Known failure modes

- Missing required fields (label, contentHash, or idempotencyKey) returns a 400/validation error
- Payment failure or x402 protocol error prevents notarization
- Submitting raw payload instead of SHA-256 hash may produce unverifiable proofs
- Duplicate idempotencyKey returns idempotentReplay: true with the original proof (not an error)
- Network or Vercel cold-start timeout on first request

## How this service works

Proof402 is an x402-compatible timestamp/hash proof service for autonomous agents. Pay once. Prove forever.

## Output

Returns a proof object containing a unique proof ID, ISO 8601 timestamp, the submitted contentHash, a metadataHash, a cryptographic signature (verified: true), plus hyperlinks to view and independently verify the proof. Also indicates whether this was an idempotent replay of a previous notarization.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "label",
  "contentHash",
  "idempotencyKey"
 ],
 "properties": {
  "label": {
   "type": "string"
  },
  "metadata": {
   "type": "object",
   "description": "Optional non-secret metadata. Proof402 stores and exposes only metadataHash and metadataKeys."
  },
  "contentHash": {
   "type": "string",
   "description": "SHA-256 hash of the result or artifact. Do not send the raw payload."
  },
  "idempotencyKey": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "ok",
  "mode",
  "idempotentReplay",
  "proof",
  "links"
 ],
 "properties": {
  "ok": {
   "type": "boolean"
  },
  "mode": {
   "enum": [
    "demo",
    "x402"
   ],
   "type": "string"
  },
  "links": {
   "type": "object",
   "properties": {
    "proof": {
     "type": "string"
    },
    "verify": {
     "type": "string"
    }
   }
  },
  "proof": {
   "type": "object",
   "required": [
    "id",
    "verified",
    "timestamp",
    "contentHash",
    "metadataHash",
    "signature"
   ],
   "properties": {
    "id": {
     "type": "string"
    },
    "label": {
     "type": "string"
    },
    "verified": {
     "type": "boolean"
    },
    "signature": {
     "type": "string"
    },
    "timestamp": {
     "type": "string",
     "format": "date-time"
    },
    "contentHash": {
     "type": "string"
    },
    "metadataHash": {
     "type": "string"
    }
   }
  },
  "idempotentReplay": {
   "type": "boolean"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/proof402-notarize-8894a0eb/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from proof402.vercel.app](https://www.zero.xyz/host/proof402.vercel.app/llms.txt)
