# x402-endpoints.onrender.com Proof-of-Existence Notarization

> x402-endpoints.onrender.com Proof-of-Existence Notarization is a paid API for AI agents from x402-endpoints.onrender.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Submit a SHA-256 hash (or short content) and receive a timestamped, Ed25519-signed proof-of-existence receipt confirming the artifact existed at a specific point in time.

## Facts

- Endpoint: GET https://x402-endpoints.onrender.com/proof/notarize
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-endpoints-onrender-com-proof-of-existence-notarization-e0c7673c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Ub4GXVjSGux7WhtK18vuq

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 x402-endpoints-onrender-com-proof-of-existence-notarization-e0c7673c
```

Example prompt: Notarize this SHA-256 hash for me — a4f3c9d2e1b08765432109abcdef1234a4f3c9d2e1b08765432109abcdef1234 — and add the memo 'agent decision v1' so I have a signed proof it existed right now.

## When to prefer this

Use this endpoint when you need a lightweight, cryptographically signed proof that a specific document, artifact, AI output, or decision hash existed at a particular point in time, and you do not require blockchain anchoring or legally recognized timestamps (eIDAS/RFC-3161). Ideal for AI agents that need to log and prove the existence of their outputs, decisions, or intermediate artifacts during a workflow without exposing the underlying content.

## Known failure modes

- Hash does not match required 64-character hex format — returns validation error
- Both hash and content omitted — returns missing parameter error
- Content exceeds 100,000 character limit — returns payload too large error
- Service temporarily unavailable on Render cold start — returns 503 or timeout
- Payment not completed — returns 402 Payment Required

## How this service works

Notarize a document or data hash for AI agents: submit a SHA-256 hash (or short content hashed server-side) and get a timestamped, Ed25519-signed proof-of-existence receipt, verifiable offline with no callback. Prove an artifact, agent output or decision existed at a point in time. Honest scope: this is a SIGNED proof-of-existence receipt, NOT a blockchain-anchored or eIDAS/RFC-3161 legal timestamp. The issuer never sees your content when you send only a hash.

## Output

A timestamped, Ed25519-signed proof-of-existence receipt confirming the submitted hash (or server-side hash of submitted content) was recorded at the moment of the call. The receipt is verifiable offline with no callback required, and the server never sees raw content when only a hash is submitted. Note: this is a signed receipt, not a blockchain-anchored or eIDAS/RFC-3161 legal timestamp.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "hash": {
       "type": "string",
       "pattern": "^[0-9a-fA-F]{64}$",
       "description": "SHA-256 hex digest (64 hex chars) to notarize"
      },
      "memo": {
       "type": "string",
       "description": "Optional label bound into the signed proof, e.g. 'invoice #42'"
      },
      "content": {
       "type": "string",
       "description": "Alternative to hash: short content hashed server-side (SHA-256), max 100000 chars"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "proof": {
   "memo": "invoice #42",
   "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
   "notarized_at": "2026-07-02T12:00:00Z",
   "hash_algorithm": "sha256",
   "hashed_server_side": false
  },
  "cached": false,
  "source": "Local Ed25519 proof-of-existence (no external source)",
  "anchoring": {
   "note": "Signed proof-of-existence receipt (Ed25519), NOT a blockchain-anchored timestamp.",
   "method": null,
   "anchored": false
  },
  "timestamp": "2026-07-02T12:00:00Z",
  "disclaimer": "Signed proof that this issuer observed the hash at the stated time. NOT a blockchain-anchored or legal (eIDAS/RFC 3161) timestamp.",
  "verification": {
   "how": "Recompute sha256(content); confirm equals proof.sha256; ed25519-verify signature over canonical claims.",
   "offline": true
  },
  "signed_receipt": {
   "claims": {
    "kind": "proof_of_existence",
    "memo": "invoice #42",
    "issuer": "x402-endpoints.onrender.com",
    "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "algorithm": "sha256",
    "issued_at": "2026-07-02T12:00:00Z"
   },
   "algorithm": "ed25519",
   "available": true,
   "signature": "<hex>",
   "public_key": "5b77...9f9d",
   "canonicalization": "JSON sort_keys, separators (',',':'), UTF-8"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-endpoints-onrender-com-proof-of-existence-notarization-e0c7673c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-endpoints.onrender.com](https://www.zero.xyz/host/x402-endpoints.onrender.com/llms.txt)
