# ForgeMesh Notary Batch AI Attestation

> ForgeMesh Notary Batch AI Attestation is a paid API for AI agents from notary.forgemesh.io, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Notarizes up to 20 AI inference records in a single call, producing a signed Ed25519 attestation, SHA-256 content hash, receipt token, and anchor status for each record.

## Facts

- Endpoint: POST https://notary.forgemesh.io/api/notarize/batch
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/forgemesh-notary-batch-ai-attestation-39bd72e3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_d46oBOGyF736sFHPhK3K6

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 forgemesh-notary-batch-ai-attestation-39bd72e3 -d '<json body>'
```

Example prompt: Notarize these 5 AI inference records in one batch — each has the prompt, the model response, and the model ID (openai/gpt-4o) — and give me the signed Ed25519 attestation, content hash, and receipt token for each so I have a cryptographic audit trail.

## When to prefer this

Choose this endpoint when you need to notarize multiple AI inference records in a single atomic call rather than making individual requests — it's up to 20x more efficient for pipeline audit logging, compliance workflows, or any scenario where you produce batches of model outputs that all require cryptographic attestation. Prefer it over the single-record endpoint whenever you have 2 or more inferences to sign in the same processing window.

## Known failure modes

- Array exceeds 20 items — returns 400 with maxItems violation
- Missing required fields (prompt, response, model_id) on any record — returns 400 with field-level validation error
- Payload too large (metadata field exceeds 4 KB) — returns 413 or 400
- Payment not included or insufficient — returns 402 requiring x402 payment of $0.005 USDC
- Malformed ISO-8601 client_timestamp — may be rejected or ignored depending on strictness
- Service unavailable causing partial batch failure — unclear retry semantics per record

## How this service works

Notarize AI output in bulk: one signed Ed25519 attestation of the model response per record for up to 20 AI inferences in a single call — same content hash, receipt token, and anchor status as single notarization, giving you a cryptographic receipt for inference across an entire audit-trail pipeline.

## Output

Returns one attestation object per input record, each containing a signed Ed25519 signature over the content hash, a SHA-256 hash of the prompt+response+model_id+timestamp, a receipt token for future verification, and an anchor status indicating whether the record has been committed to an external ledger or timestamping service.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "records": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "prompt",
     "response",
     "model_id"
    ],
    "properties": {
     "prompt": {
      "type": "string",
      "description": "Exact prompt/input sent to the model"
     },
     "metadata": {
      "type": "object",
      "description": "Optional caller metadata, <= 4 KB — accepted but NOT persisted or hashed (reserved for future opt-in retention)"
     },
     "model_id": {
      "type": "string",
      "description": "Model identifier, e.g. openai/gpt-5 or claude-fable-5"
     },
     "response": {
      "type": "string",
      "description": "Exact model output being notarized"
     },
     "client_timestamp": {
      "type": "string",
      "description": "ISO-8601 time the inference ran (optional; included in the content hash)"
     }
    }
   },
   "maxItems": 20,
   "minItems": 1
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 2,
  "attestations": [
   {
    "anchor": {
     "status": "pending"
    },
    "model_id": "openai/gpt-5",
    "algorithm": "ed25519",
    "signature": "base64-ed25519-signature",
    "receipt_url": "https://notary.forgemesh.io/api/receipt/att_0123456789abcdef01234567",
    "content_hash": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
    "notarized_at": "2026-07-03T12:00:01.000Z",
    "receipt_token": "private-receipt-token",
    "signer_pubkey": "base64-ed25519-public-key",
    "attestation_id": "att_0123456789abcdef01234567",
    "payload_stored": false,
    "client_timestamp": "2026-07-03T12:00:00Z"
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/forgemesh-notary-batch-ai-attestation-39bd72e3/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from notary.forgemesh.io](https://www.zero.xyz/host/notary.forgemesh.io/llms.txt)
