# Attest402 — Signed Evidence of Public Web/API Response

> Attest402 — Signed Evidence of Public Web/API Response is a paid API for AI agents from attest402.com, paid per call via x402, $0.2/call, status unknown (last checked 2026-10-12).

Fetches a public URL and returns cryptographically signed, timestamped evidence of the HTTP response — body hash, headers hash, HTTP status, and an Ed25519 attestation — payable per-call with x402 USDC.

## Facts

- Endpoint: POST https://attest402.com/v1/attest?utm_source=zero.xyz
- Price: $0.2/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/attest402-signed-evidence-of-public-web-api-response-81f606d1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_YHI1KGTcgI_rm7-d6t25Q

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 attest402-signed-evidence-of-public-web-api-response-81f606d1 -d '<json body>'
```

Example prompt: Fetch https://api.coinbase.com/v2/prices/BTC-USD/spot right now and give me a cryptographically signed, timestamped attestation of exactly what it returned — body hash, HTTP status, Ed25519 signature, and a verification link I can share.

## When to prefer this

Choose Attest402 when you need cryptographically verifiable, independently auditable proof of what a public URL returned at a specific moment — especially for smart contract oracles, legal/compliance evidence, dispute resolution, or any workflow where trusting a screenshot or log is insufficient. Prefer it over simple HTTP fetching when tamper-evidence, a trusted RFC3161 timestamp, and a public verification link are required. It is purpose-built for AI agents via x402 pay-per-call with no account setup.

## Known failure modes

- Non-public or authenticated URLs will fail or return incomplete evidence
- Target URL returns non-200 status — attestation still issued but records actual HTTP status
- Payment not received or x402 flow fails — request not processed
- Target URL unreachable or times out — no attestation issued
- Invalid or malformed URL input — request rejected
- Target server returns unexpected content type or very large body — may affect processing

## How this service works

Cryptographically signed and timestamped evidence of a public web or API response. Pay per call with x402 (0.20 USDC on Base). No account, no API key. Built for AI agents.

## Output

A JSON object containing: the requested and final URLs, HTTP status code, content type and length, a SHA-256 hash of the response body and headers, the timestamp of observation, a redirect chain, an Ed25519 digital signature with key ID and algorithm, a canonical record hash, a schema version, a trusted RFC3161 timestamp token hash and status, a unique attestation ID, a public verification URL, and a URL to download the full evidence package.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "format": "uri",
   "description": "Public HTTPS URL to capture (GET only, max 2 MB, max 3 redirects)."
  },
  "externalReference": {
   "type": "string",
   "maxLength": 100,
   "description": "Optional caller-side correlation id, embedded in the signed record."
  },
  "includeTrustedTimestamp": {
   "type": "boolean",
   "description": "Also anchor the record with an independent RFC-3161 timestamp."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "bodyHash": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "finalUrl": "https://api.example.com/prices/btc",
  "httpStatus": 200,
  "observedAt": "2026-08-01T19:50:00.123Z",
  "attestation": {
   "keyId": "attest-prod-2026-01",
   "algorithm": "Ed25519",
   "signature": "base64:...",
   "schemaVersion": "1.0",
   "canonicalRecordHash": "sha256:..."
  },
  "contentType": "application/json",
  "headersHash": "sha256:98fdc32...",
  "requestedUrl": "https://api.example.com/prices/btc",
  "attestationId": "attest_9f8a1b2c3d4e",
  "contentLength": 4281,
  "redirectChain": [],
  "verificationUrl": "https://attest402.com/v1/verify/attest_9f8a1b2c3d4e",
  "trustedTimestamp": {
   "type": "RFC3161",
   "status": "VALID",
   "tokenHash": "sha256:..."
  },
  "evidencePackageUrl": "https://attest402.com/v1/evidence/attest_9f8a1b2c3d4e"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/attest402-signed-evidence-of-public-web-api-response-81f606d1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from attest402.com](https://www.zero.xyz/host/attest402.com/llms.txt)
