x402 List

x402 Protocol Service Directory

FractalAI � Post-Quantum Proofs for AI Agents

Verification PAYMENT-READY

payment-ready until 2026-08-20

Post-quantum (CRYSTALS-Dilithium-2, NIST FIPS 204) services for autonomous agents, payable per call in USDC on Base: Dilithium-2 signing, PQC signature verification, AI decision attestation (VAID-1), training-data attestation (C2PA), provenance sealing (drand + on-chain), CBOM cryptographic-inventory sealing, and Know-Your-Agent identity verification. Self-facilitated (EIP-3009 gasless) with a facilitator-less txHash fallback. Signatures are anchored on the FractalAI L1 with a public, verifiable attestation permalink.

Pay from $0.01 to $0.05 per request in USDC on Base, settled onchain via the x402 protocol, no signup, no API key needed.

listed 2026-08-03 · no on-chain settlement recorded yet

BASE URL https://fractalai.net.co WEBSITE https://fractalai.net.co ENDPOINTS 7 NETWORK Base ASSET USDC MEMBER SINCE 2026-08-03 MONITORED SINCE 2026-08-03

ASSESSMENT

updated 5h ago

Evidence-backed signals, not a single score. Click any chip for the proof. Measured values stay read-only; unknown is honest.

reliability 100%
uptime 24h
100%
uptime 7d
100%
uptime 30d
100%
uptime 90d
100%
response p95
880ms
avg response
477ms
total checks
903

Measured on the unpaid 402 handshake, not the paid call. A service can 402 correctly and still fail after payment.

compliance C (12/14): declares the current x402 version (2), EIP-712 domain parameters present on every EVM entry

12 of 14 x402 conformance checks pass; failing: declares the current x402 version (2), EIP-712 domain parameters present on every EVM entry. Full checklist below.

jump to compliance checklist

signability route not signable

At least one EVM route on this service returns its 402 without the EIP-712 domain parameters (extra.name and extra.version), so a standard x402 client cannot build the signature for that route.

Measured on the last 402 envelope captured from this service. It is a fact about the envelope, not a judgement on the service or its operator.

This is the only conformance check that caps the compliance grade, at C.

jump to compliance checklist

price $0.01 to $0.05 (p31 in Verification)
price (min)
$0.01
price (max)
$0.05
category percentile (min)
p31 in Verification
category percentile (max)
p38 in Verification
endpoints / prices
7 / 4
model
tiered
stability
100%
risk clean

No deterministic risk flag. Risk fires only on an exact blocklist match, or a reserved-brand name with a mismatched verified payTo. Never from low uptime, a high price, or a model guess.

domain age
-
registrar
-
hosting
custom
domain created
---

Identity facts, not a risk score.

traction $0.00 30d · 0 buyers
volume 30d
$0.00
buyers 30d
0
settlements 30d
0
first settlement
---
last settlement
---
top buyer share
-
trend 7d vs 30d
-
networks
eip155:8453
volume all-time
$0
settlements all-time
0
median settlement 30d
-
max settlement 30d
-
settled via
-

Conservative undercount: only USDC settlements via facilitators we measure are counted. A measured floor, not an estimate.

Top buyer share is a concentration signal, not part of the ranking score.

WHAT IT DOES

ai-derived

Provides post-quantum cryptographic services for AI agents including decision attestation, training verification, content sealing, and digital signatures.

category
post-quantum-crypto
in
query params
post-quantumcryptographyai-verificationdigital-signaturesblockchainprovenance

AI-generated summary. The measured data is never altered by it.

ENDPOINTS

Service endpoints with HTTP method, path, description, pricing, and network
METHOD PATH DESCRIPTION PRICE NETWORK ASSET 402 CHANNEL
GET /api/x402/attest-decision Seal one AI decision in FractalAI's post-quantum L1: Dilithium-2 signed, Black-Box chained, on-chain anchored (VAID-1). Re-verifiable receipt. $0.05 Base USDC body (v1 style)
GET /api/x402/attest-training One post-quantum (Dilithium-2, NIST FIPS 204) provenance manifest over your dataset/training-run hash — C2PA-compatible, re-verifiable. $0.05 Base USDC body (v1 style)
GET /api/x402/seal One post-quantum (Dilithium-2, NIST FIPS 204) provenance seal — drand-timestamped + on-chain-anchored — over your dataset/training/content hash. $0.05 Base USDC body (v1 style)
GET /api/x402/seal-cbom One post-quantum (Dilithium-2, NIST FIPS 204) seal over your CycloneDX CBOM (cryptographic inventory) — drand-timestamped, re-verifiable `.cbomseal`. $0.05 Base USDC body (v1 style)
GET /api/x402/sign One post-quantum (Dilithium-2, NIST FIPS 204) signature over your message/hash. $0.02 Base USDC body (v1 style)
GET /api/x402/verify-agent Verify an agent KYA credential: post-quantum (Dilithium-2, NIST FIPS 204) signature + integrity + expiry, plus a live FRC-55 on-chain reputation read. $0.03 Base USDC body (v1 style)
GET /api/x402/verify-proof Verify one post-quantum (Dilithium-2, NIST FIPS 204) signature over a message against a public key. $0.01 Base USDC body (v1 style)
7 endpoints

REQUEST / RESPONSE EXAMPLE

An unpaid request to GET /api/x402/attest-decision returns HTTP 402 with the payment terms. Settle onchain via your facilitator, then retry with the X-Payment header.

// request
curl -i 'https://fractalai.net.co/api/x402/attest-decision'
// 402 response (captured by monitor) · 7 payloads · click to expand
[
  {
    "error": "Payment required",
    "price": "$0.01",
    "usage": "POST { message | message_b64, signature, public_key }. First call → 402 with `accepts` (facilitator EIP-3009 gasless, or pay-first txHash). Retry with X-PAYMENT. Returns a Dilithium-2 verify verdict ($0.01, the floor price).",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "version": "2",
          "decimals": 6,
          "assetTransferMethod": "eip3009"
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "network": "base",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/verify-proof",
        "description": "Verify one post-quantum (Dilithium-2, NIST FIPS 204) signature over a message against a public key.",
        "maxAmountRequired": "10000",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "version": "2",
          "decimals": 6,
          "assetTransferMethod": "eip3009"
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "network": "eip155:8453",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/verify-proof",
        "description": "Verify one post-quantum (Dilithium-2, NIST FIPS 204) signature over a message against a public key.",
        "maxAmountRequired": "10000",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "decimals": 6,
          "settlement": "txHash",
          "instructions": "Send exactly maxAmountRequired of `asset` to `payTo` on Base, then retry this request with header X-PAYMENT = base64(JSON({ txHash, from? })). One txHash = one verification."
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "chainId": 8453,
        "network": "base",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/verify-proof",
        "description": "Verify one post-quantum (Dilithium-2, NIST FIPS 204) signature over a message against a public key.",
        "maxAmountRequired": "10000",
        "maxTimeoutSeconds": 300
      }
    ],
    "service": "FractalAI x402 Pay-per-Verify — verify a post-quantum signature for autonomous agents",
    "discovery": {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "price": "$0.01",
      "network": "eip155:8453",
      "resource": "https://fractalai.net.co/api/x402/verify-proof",
      "description": "Pay-per-Verify: an agent pays $0.01 to verify a post-quantum Dilithium-2 (NIST FIPS 204) signature over a message against a public key. A generic machine-to-machine PQC proof primitive for autonomous agents. x402-native.",
      "facilitator": "self",
      "inputSchema": {
        "type": "object",
        "required": [
          "signature",
          "public_key"
        ],
        "properties": {
          "message": {
            "type": "string",
            "description": "The UTF-8 message that was signed. We verify against sha-independent raw bytes. Provide message OR message_b64."
          },
          "signature": {
            "type": "string",
            "description": "The base64 Dilithium-2 signature to verify. Required."
          },
          "public_key": {
            "type": "string",
            "description": "The base64 Dilithium-2 public key to verify against. Required."
          },
          "message_b64": {
            "type": "string",
            "description": "The base64-encoded exact bytes that were signed (use this if the original signer signed base64 bytes, e.g. our /api/x402/sign). Provide message OR message_b64."
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "required": [
          "valid",
          "algorithm"
        ],
        "properties": {
          "valid": {
            "type": "boolean",
            "description": "True iff the signature is a valid Dilithium-2 signature over the message for the public key."
          },
          "payment": {
            "type": "object",
            "description": "Settlement receipt (scheme, network, asset, txHash, payer, settled)."
          },
          "algorithm": {
            "type": "string",
            "description": "dilithium2"
          },
          "message_b64": {
            "type": "string",
            "description": "The exact base64 bytes that were verified (echoed for reproducibility)."
          }
        }
      },
      "settlementModes": [
        "eip3009",
        "txHash"
      ],
      "settlementConfigured": true
    },
    "x402Version": 1,
    "honest_scope": "Proves ONLY that the signature is a valid Dilithium-2 (NIST FIPS 204) signature over exactly this message for exactly this public key. It says NOTHING about who owns the key, whether it should be trusted, or the truthfulness of the message. Resistant to known classical & quantum attacks per NIST, not \"unbreakable\"."
  },
  {
    "error": "Payment required",
    "price": "$0.03",
    "usage": "POST a KYA credential (body or { credential }), optional { check_reputation }. First call → 402 with `accepts` (facilitator EIP-3009 gasless, or pay-first txHash). Retry with X-PAYMENT. Returns a verdict: signature valid? in-date? + live FRC-55 on-chain reputation.",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "version": "2",
          "decimals": 6,
          "assetTransferMethod": "eip3009"
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "network": "base",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/verify-agent",
        "description": "Verify an agent KYA credential: post-quantum (Dilithium-2, NIST FIPS 204) signature + integrity + expiry, plus a live FRC-55 on-chain reputation read.",
        "maxAmountRequired": "30000",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "version": "2",
          "decimals": 6,
          "assetTransferMethod": "eip3009"
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "network": "eip155:8453",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/verify-agent",
        "description": "Verify an agent KYA credential: post-quantum (Dilithium-2, NIST FIPS 204) signature + integrity + expiry, plus a live FRC-55 on-chain reputation read.",
        "maxAmountRequired": "30000",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "decimals": 6,
          "settlement": "txHash",
          "instructions": "Send exactly maxAmountRequired of `asset` to `payTo` on Base, then retry this request with header X-PAYMENT = base64(JSON({ txHash, from? })). One txHash = one verification."
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "chainId": 8453,
        "network": "base",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/verify-agent",
        "description": "Verify an agent KYA credential: post-quantum (Dilithium-2, NIST FIPS 204) signature + integrity + expiry, plus a live FRC-55 on-chain reputation read.",
        "maxAmountRequired": "30000",
        "maxTimeoutSeconds": 300
      }
    ],
    "service": "FractalAI x402 Pay-per-KYA — verify an agent identity + scope credential for autonomous agents",
    "discovery": {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "price": "$0.03",
      "network": "eip155:8453",
      "resource": "https://fractalai.net.co/api/x402/verify-agent",
      "description": "Pay-per-KYA: an agent pays to verify another agent's post-quantum identity + scope credential (Dilithium-2, NIST FIPS 204), with a live FRC-55 on-chain reputation read. ERC-8004-aligned Know Your Agent for autonomous agent-to-agent commerce. x402-native.",
      "facilitator": "self",
      "inputSchema": {
        "type": "object",
        "required": [],
        "properties": {
          "credential": {
            "type": "object",
            "description": "A FractalAI KYA credential ({ claim, signature, public_key, credential_id }) to verify. Provide this OR the whole request body IS the credential."
          },
          "check_reputation": {
            "type": "boolean",
            "description": "Optional (default true): re-read live FRC-55 on-chain reputation when the credential references an agent id."
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "required": [
          "valid",
          "stage",
          "reason"
        ],
        "properties": {
          "claim": {
            "type": "object",
            "description": "The echoed KYA claim (agent_id, operator, scope, validity window)."
          },
          "stage": {
            "type": "string",
            "description": "Which check decided the verdict: structure | credential_id | signature | expiration | ok."
          },
          "valid": {
            "type": "boolean",
            "description": "True iff the post-quantum signature verifies, integrity holds, and the credential is in-date."
          },
          "reason": {
            "type": "string",
            "description": "Human-readable explanation of the verdict."
          },
          "payment": {
            "type": "object",
            "description": "Settlement receipt (scheme, network, asset, txHash, payer, settled)."
          },
          "reputation": {
            "type": "object",
            "description": "Live FRC-55 on-chain reputation snapshot, when referenced and available (else null)."
          },
          "not_expired": {
            "type": "boolean",
            "description": "True iff the credential is still in-date."
          },
          "seconds_until_expiry": {
            "type": "number",
            "description": "Seconds until expiry (negative if expired)."
          }
        }
      },
      "settlementModes": [
        "eip3009",
        "txHash"
      ],
      "settlementConfigured": true
    },
    "x402Version": 1,
    "honest_scope": "Proves integrity, authenticity, and non-repudiation of the identity + scope the OPERATOR declared for their agent. It does NOT prove the agent behaves well or stays within scope at runtime, and it does NOT verify that the operator is a legitimate entity (that is operator KYC — a separate step). On-chain reputation, when shown, is a live read from the FRC-55 registry, not an endorsement. Dilithium-2 is resistant to known classical & quantum attacks (NIST FIPS 204), not \"unbreakable\"."
  },
  {
    "error": "Payment required",
    "price": "$0.02",
    "usage": "POST { message | hash }. First call → 402 with `accepts` (facilitator EIP-3009 gasless, or pay-first txHash). Facilitator-native: retry with X-PAYMENT = base64(JSON(exact-scheme payload with a signed EIP-3009 authorization)). Fallback: retry with X-PAYMENT = base64(JSON({ txHash })). Returns a Dilithium-2 signature.",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "version": "2",
          "decimals": 6,
          "assetTransferMethod": "eip3009"
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "network": "base",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/sign",
        "description": "One post-quantum (Dilithium-2, NIST FIPS 204) signature over your message/hash.",
        "maxAmountRequired": "20000",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "version": "2",
          "decimals": 6,
          "assetTransferMethod": "eip3009"
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "network": "eip155:8453",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/sign",
        "description": "One post-quantum (Dilithium-2, NIST FIPS 204) signature over your message/hash.",
        "maxAmountRequired": "20000",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "decimals": 6,
          "settlement": "txHash",
          "instructions": "Send exactly maxAmountRequired of `asset` to `payTo` on Base, then retry this request with header X-PAYMENT = base64(JSON({ txHash, from? })). One txHash = one signature."
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "chainId": 8453,
        "network": "base",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/sign",
        "description": "One post-quantum (Dilithium-2, NIST FIPS 204) signature over your message/hash.",
        "maxAmountRequired": "20000",
        "maxTimeoutSeconds": 300
      }
    ],
    "service": "FractalAI x402 Pay-per-Proof — post-quantum signatures for autonomous agents",
    "discovery": {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "price": "$0.02",
      "network": "eip155:8453",
      "resource": "https://fractalai.net.co/api/x402/sign",
      "description": "Pay-per-Proof: one post-quantum Dilithium-2 (NIST FIPS 204) signature over your message/hash, x402-native.",
      "facilitator": "self",
      "inputSchema": {
        "type": "object",
        "required": [],
        "properties": {
          "hash": {
            "type": "string",
            "description": "Hex digest you already computed; signed directly. Provide message OR hash."
          },
          "message": {
            "type": "string",
            "description": "Arbitrary UTF-8 string; we sign sha256(message)."
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "required": [
          "digest",
          "signature",
          "algorithm",
          "public_key"
        ],
        "properties": {
          "digest": {
            "type": "string",
            "description": "The hex digest that was signed."
          },
          "payment": {
            "type": "object",
            "description": "Settlement receipt (scheme, network, asset, txHash, payer, settled)."
          },
          "algorithm": {
            "type": "string",
            "description": "dilithium2"
          },
          "signature": {
            "type": "string",
            "description": "Base64 Dilithium-2 (NIST FIPS 204) signature over the digest."
          },
          "public_key": {
            "type": "string",
            "description": "Base64 Dilithium-2 public key that verifies the signature."
          }
        }
      },
      "settlementModes": [
        "eip3009",
        "txHash"
      ],
      "settlementConfigured": true
    },
    "x402Version": 1
  },
  {
    "error": "Payment required",
    "price": "$0.05",
    "usage": "POST { agent_id, input, output, model_id?, model_version? }. First call → 402 with `accepts` (facilitator EIP-3009 gasless, or pay-first txHash). Facilitator-native: retry with X-PAYMENT = base64(JSON(exact-scheme payload with a signed EIP-3009 authorization)). Fallback: retry with X-PAYMENT = base64(JSON({ txHash })). Returns a re-verifiable attestation (Dilithium-2 signed, Black-Box chained, VAID-1 anchored). Re-verify later via GET /api/blackbox?agent_id=…&verify=1.",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "version": "2",
          "decimals": 6,
          "assetTransferMethod": "eip3009"
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "network": "base",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/attest-decision",
        "description": "Seal one AI decision in FractalAI's post-quantum L1: Dilithium-2 signed, Black-Box chained, on-chain anchored (VAID-1). Re-verifiable receipt.",
        "maxAmountRequired": "50000",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "version": "2",
          "decimals": 6,
          "assetTransferMethod": "eip3009"
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "network": "eip155:8453",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/attest-decision",
        "description": "Seal one AI decision in FractalAI's post-quantum L1: Dilithium-2 signed, Black-Box chained, on-chain anchored (VAID-1). Re-verifiable receipt.",
        "maxAmountRequired": "50000",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "decimals": 6,
          "settlement": "txHash",
          "instructions": "Send exactly maxAmountRequired of `asset` to `payTo` on Base, then retry this request with header X-PAYMENT = base64(JSON({ txHash, from? })). One txHash = one attestation."
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "chainId": 8453,
        "network": "base",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/attest-decision",
        "description": "Seal one AI decision in FractalAI's post-quantum L1: Dilithium-2 signed, Black-Box chained, on-chain anchored (VAID-1). Re-verifiable receipt.",
        "maxAmountRequired": "50000",
        "maxTimeoutSeconds": 300
      }
    ],
    "service": "FractalAI x402 Pay-per-Attestation — seal an AI decision in a post-quantum L1 for autonomous agents",
    "discovery": {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "price": "$0.05",
      "network": "eip155:8453",
      "resource": "https://fractalai.net.co/api/x402/attest-decision",
      "description": "Pay-per-Attestation: an AI agent pays to seal its own decision (input hash, output, model, timestamp) in FractalAI's post-quantum L1 — Dilithium-2 (NIST FIPS 204) signed, Black-Box chained, on-chain anchored (VAID-1). Returns a re-verifiable receipt. Built for EU AI Act Art.12 record-keeping. x402-native.",
      "facilitator": "https://api.cdp.coinbase.com/platform/v2/x402",
      "inputSchema": {
        "type": "object",
        "required": [
          "agent_id",
          "input",
          "output"
        ],
        "properties": {
          "input": {
            "type": "string",
            "description": "The decision input/prompt. We seal sha256(input) — the raw input is NOT stored."
          },
          "output": {
            "type": "string",
            "description": "The decision output the agent produced. We seal sha256(output)."
          },
          "agent_id": {
            "type": "string",
            "description": "Stable identifier of the AI agent whose decision is being sealed."
          },
          "model_id": {
            "type": "string",
            "description": "Model identifier (e.g. \"midas-risk-v1\"). Optional; defaults to \"fane-agent-v1\"."
          },
          "model_version": {
            "type": "string",
            "description": "Model version tag (e.g. \"2026-06-20\"). Optional."
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "required": [
          "entry_hash",
          "input_hash",
          "output_hash",
          "signature",
          "public_key"
        ],
        "properties": {
          "seq": {
            "type": "number",
            "description": "Append-only sequence number of this decision in the agent Black Box."
          },
          "payment": {
            "type": "object",
            "description": "Settlement receipt (scheme, network, asset, txHash, payer, settled)."
          },
          "permalink": {
            "type": "string",
            "description": "Permalink to the on-chain attestation, when the L1 anchor succeeds."
          },
          "prev_hash": {
            "type": "string",
            "description": "Hash of the previous Black Box entry this one is chained to (tamper-evident order)."
          },
          "signature": {
            "type": "string",
            "description": "Base64 Dilithium-2 (NIST FIPS 204) signature over the entry hash."
          },
          "entry_hash": {
            "type": "string",
            "description": "Black Box entry hash: sha256 of the chained, canonical decision content."
          },
          "input_hash": {
            "type": "string",
            "description": "sha256 of the declared input."
          },
          "public_key": {
            "type": "string",
            "description": "Base64 Dilithium-2 public key that verifies the signature."
          },
          "output_hash": {
            "type": "string",
            "description": "sha256 of the declared output."
          },
          "attestation_hash": {
            "type": "string",
            "description": "On-chain (VAID-1) attestation hash — re-verifiable proof the decision was sealed."
          }
        }
      },
      "settlementModes": [
        "eip3009",
        "txHash"
      ],
      "settlementConfigured": true
    },
    "x402Version": 1
  },
  {
    "error": "Payment required",
    "price": "$0.05",
    "usage": "POST { dataset | dataset_hash, model_id, issuer?, content_type?, prompt? }. First call → 402 with `accepts` (facilitator EIP-3009 gasless, or pay-first txHash). Retry with X-PAYMENT. Returns a re-verifiable C2PA-compatible, Dilithium-2-signed provenance manifest.",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "version": "2",
          "decimals": 6,
          "assetTransferMethod": "eip3009"
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "network": "base",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/attest-training",
        "description": "One post-quantum (Dilithium-2, NIST FIPS 204) provenance manifest over your dataset/training-run hash — C2PA-compatible, re-verifiable.",
        "maxAmountRequired": "50000",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "version": "2",
          "decimals": 6,
          "assetTransferMethod": "eip3009"
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "network": "eip155:8453",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/attest-training",
        "description": "One post-quantum (Dilithium-2, NIST FIPS 204) provenance manifest over your dataset/training-run hash — C2PA-compatible, re-verifiable.",
        "maxAmountRequired": "50000",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "decimals": 6,
          "settlement": "txHash",
          "instructions": "Send exactly maxAmountRequired of `asset` to `payTo` on Base, then retry this request with header X-PAYMENT = base64(JSON({ txHash, from? })). One txHash = one manifest."
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "chainId": 8453,
        "network": "base",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/attest-training",
        "description": "One post-quantum (Dilithium-2, NIST FIPS 204) provenance manifest over your dataset/training-run hash — C2PA-compatible, re-verifiable.",
        "maxAmountRequired": "50000",
        "maxTimeoutSeconds": 300
      }
    ],
    "service": "FractalAI x402 Pay-per-Training-Provenance — seal dataset/training-run provenance for autonomous agents",
    "discovery": {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "price": "$0.05",
      "network": "eip155:8453",
      "resource": "https://fractalai.net.co/api/x402/attest-training",
      "description": "Pay-per-Training-Provenance: an agent pays to seal the provenance of a dataset or training run — a C2PA-compatible, Dilithium-2 (NIST FIPS 204) signed manifest binding the dataset/artifact hash to a declared origin. Built for EU AI Act Art. 10/53 training-data provenance. Privacy-preserving (only the hash is bound). x402-native.",
      "facilitator": "self",
      "inputSchema": {
        "type": "object",
        "required": [
          "model_id"
        ],
        "properties": {
          "issuer": {
            "type": "string",
            "description": "Optional: the party declaring this provenance (recorded, informational)."
          },
          "prompt": {
            "type": "string",
            "description": "Optional context/description; stored ONLY as a hash (privacy-preserving)."
          },
          "dataset": {
            "type": "string",
            "description": "The raw dataset/training content to seal; we bind sha256(dataset). Provide dataset OR dataset_hash."
          },
          "model_id": {
            "type": "string",
            "description": "Model / dataset identifier this provenance is for (e.g. \"fane-1\", \"acme-corpus-v3\"). Required."
          },
          "content_type": {
            "type": "string",
            "description": "Optional MIME/label for the dataset (e.g. \"application/jsonl\", \"dataset\")."
          },
          "dataset_hash": {
            "type": "string",
            "description": "A sha256 hex digest you already computed (e.g. of a dataset or model artifact); bound as-is. Privacy-preserving — the data never leaves you."
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "required": [
          "manifest"
        ],
        "properties": {
          "payment": {
            "type": "object",
            "description": "Settlement receipt (scheme, network, asset, txHash, payer, settled)."
          },
          "manifest": {
            "type": "object",
            "description": "The re-verifiable C2PA-compatible provenance manifest: { claim (content_hash, model_id, issuer, prompt_hash, created_at, ...), signature (base64 Dilithium-2), public_key, manifest_id }."
          },
          "verify_at": {
            "type": "string",
            "description": "Endpoint to freely re-verify this manifest."
          }
        }
      },
      "settlementModes": [
        "eip3009",
        "txHash"
      ],
      "settlementConfigured": true
    },
    "x402Version": 1,
    "honest_scope": "Proves integrity, authenticity of the CLAIM, and non-repudiation of what the issuer declared. It does NOT prove the content is safe, true, or lawful, and it is not an AI-detector — it records the provider's own machine-readable mark. Dilithium-2 is resistant to known classical & quantum attacks (NIST FIPS 204), not \"unbreakable\"."
  },
  {
    "error": "Payment required",
    "price": "$0.05",
    "usage": "POST { content | content_hash, kind?, issuer?, anchor? }. First call → 402 with `accepts` (facilitator EIP-3009 gasless, or pay-first txHash). Facilitator-native: retry with X-PAYMENT = base64(JSON(exact-scheme payload with a signed EIP-3009 authorization)). Fallback: retry with X-PAYMENT = base64(JSON({ txHash })). Returns a drand-timestamped, on-chain-anchored, Dilithium-2 provenance seal. FREE re-verification: GET ?seal=<JSON>[&content_hash=<hex>].",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "version": "2",
          "decimals": 6,
          "assetTransferMethod": "eip3009"
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "network": "base",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/seal",
        "description": "One post-quantum (Dilithium-2, NIST FIPS 204) provenance seal — drand-timestamped + on-chain-anchored — over your dataset/training/content hash.",
        "maxAmountRequired": "50000",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "version": "2",
          "decimals": 6,
          "assetTransferMethod": "eip3009"
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "network": "eip155:8453",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/seal",
        "description": "One post-quantum (Dilithium-2, NIST FIPS 204) provenance seal — drand-timestamped + on-chain-anchored — over your dataset/training/content hash.",
        "maxAmountRequired": "50000",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "decimals": 6,
          "settlement": "txHash",
          "instructions": "Send exactly maxAmountRequired of `asset` to `payTo` on Base, then retry this request with header X-PAYMENT = base64(JSON({ txHash, from? })). One txHash = one seal."
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "chainId": 8453,
        "network": "base",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/seal",
        "description": "One post-quantum (Dilithium-2, NIST FIPS 204) provenance seal — drand-timestamped + on-chain-anchored — over your dataset/training/content hash.",
        "maxAmountRequired": "50000",
        "maxTimeoutSeconds": 300
      }
    ],
    "service": "FractalAI x402 Pay-per-Seal — post-quantum provenance seals for autonomous agents (dataset / training / AI content)",
    "discovery": {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "price": "$0.05",
      "network": "eip155:8453",
      "resource": "https://fractalai.net.co/api/x402/seal",
      "description": "Pay-per-Seal: one post-quantum Dilithium-2 (NIST FIPS 204) provenance seal — drand-timestamped and on-chain-anchored — over a dataset/training/content hash. EU AI Act (Art. 10/50/53) provenance for autonomous agents, x402-native.",
      "facilitator": "https://api.cdp.coinbase.com/platform/v2/x402",
      "inputSchema": {
        "type": "object",
        "required": [],
        "properties": {
          "kind": {
            "type": "string",
            "description": "Optional provenance kind: \"dataset\" | \"training\" | \"content\" (informational label recorded in the seal)."
          },
          "anchor": {
            "type": "boolean",
            "description": "Optional (default true): also anchor the seal hash on-chain (VAID-1) for a public, tamper-evident record. Failure to anchor never fails the seal."
          },
          "issuer": {
            "type": "string",
            "description": "Optional declaring party (recorded, informational)."
          },
          "content": {
            "type": "string",
            "description": "Arbitrary UTF-8 content to seal; we seal sha256(content). Provide content OR content_hash."
          },
          "content_hash": {
            "type": "string",
            "description": "A sha256 hex digest you already computed (e.g. of a dataset or training artifact); sealed as-is. Privacy-preserving — the content never leaves you."
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "required": [
          "seal"
        ],
        "properties": {
          "seal": {
            "type": "object",
            "description": "The re-verifiable provenance seal: { version, content_hash, drand_round, drand_randomness, sealed_at, algorithm, signature (base64 Dilithium-2), public_key }."
          },
          "anchor": {
            "type": "object",
            "description": "On-chain anchor receipt (attestation_hash, block_number, permalink) or a note if anchoring was unavailable. Advisory — the seal is valid without it."
          },
          "payment": {
            "type": "object",
            "description": "Settlement receipt (scheme, network, asset, txHash, payer, settled)."
          },
          "verify_drand_at": {
            "type": "string",
            "description": "URL to independently re-check the drand round on drand.sh."
          }
        }
      },
      "settlementModes": [
        "eip3009",
        "txHash"
      ],
      "settlementConfigured": true
    },
    "x402Version": 1,
    "honest_scope": "Proves this exact dataset/training/content hash EXISTED no later than the drand round, was not altered since, and was signed by this server's post-quantum (Dilithium-2, NIST FIPS 204) key. It does NOT prove authorship, originality, nor the quality/truthfulness/lawfulness of the content — it is a provenance SEAL, not an audit. Dilithium-2 is resistant to known classical & quantum attacks, not \"unbreakable\"."
  },
  {
    "error": "Payment required",
    "price": "$0.05",
    "usage": "POST { cbom, issuer?, subject?, analyze? }. First call → 402 with `accepts` (facilitator EIP-3009 gasless, or pay-first txHash). Retry with X-PAYMENT. Returns a re-verifiable `.cbomseal` (Dilithium-2 signed, drand-timestamped) + informational PQC-readiness breakdown.",
    "accepts": [
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "version": "2",
          "decimals": 6,
          "assetTransferMethod": "eip3009"
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "network": "base",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/seal-cbom",
        "description": "One post-quantum (Dilithium-2, NIST FIPS 204) seal over your CycloneDX CBOM (cryptographic inventory) — drand-timestamped, re-verifiable `.cbomseal`.",
        "maxAmountRequired": "50000",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "version": "2",
          "decimals": 6,
          "assetTransferMethod": "eip3009"
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "network": "eip155:8453",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/seal-cbom",
        "description": "One post-quantum (Dilithium-2, NIST FIPS 204) seal over your CycloneDX CBOM (cryptographic inventory) — drand-timestamped, re-verifiable `.cbomseal`.",
        "maxAmountRequired": "50000",
        "maxTimeoutSeconds": 300
      },
      {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USDC",
          "decimals": 6,
          "settlement": "txHash",
          "instructions": "Send exactly maxAmountRequired of `asset` to `payTo` on Base, then retry this request with header X-PAYMENT = base64(JSON({ txHash, from? })). One txHash = one seal."
        },
        "payTo": "0xC13789e82661635d9Cea38a53A0390CF9939ef4f",
        "scheme": "exact",
        "chainId": 8453,
        "network": "base",
        "mimeType": "application/json",
        "resource": "https://fractalai.net.co/api/x402/seal-cbom",
        "description": "One post-quantum (Dilithium-2, NIST FIPS 204) seal over your CycloneDX CBOM (cryptographic inventory) — drand-timestamped, re-verifiable `.cbomseal`.",
        "maxAmountRequired": "50000",
        "maxTimeoutSeconds": 300
      }
    ],
    "service": "FractalAI x402 Pay-per-CBOM-Seal — seal a CycloneDX cryptographic inventory for autonomous agents",
    "discovery": {
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "price": "$0.05",
      "network": "eip155:8453",
      "resource": "https://fractalai.net.co/api/x402/seal-cbom",
      "description": "Pay-per-CBOM-Seal: one post-quantum Dilithium-2 (NIST FIPS 204) seal over a CycloneDX CBOM (ECMA-424) cryptographic inventory — drand-timestamped, re-verifiable. Built for CNSA 2.0 / OMB M-23-02 PQC-readiness disclosure. Informational readiness breakdown included. x402-native.",
      "facilitator": "self",
      "inputSchema": {
        "type": "object",
        "required": [
          "cbom"
        ],
        "properties": {
          "cbom": {
            "type": "object",
            "description": "The CycloneDX CBOM (ECMA-424) as a JSON object (or JSON string) whose components include cryptographic-asset entries."
          },
          "issuer": {
            "type": "string",
            "description": "Optional: organization declaring/owning this cryptographic inventory (recorded, informational)."
          },
          "analyze": {
            "type": "boolean",
            "description": "Optional (default true): include an informational PQC-readiness breakdown (counts declared algorithms by quantum-vulnerability family)."
          },
          "subject": {
            "type": "string",
            "description": "Optional: target system/product this CBOM describes (recorded, informational)."
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "required": [
          "seal"
        ],
        "properties": {
          "seal": {
            "type": "object",
            "description": "The re-verifiable `.cbomseal`: { claim (cbom_hash, issuer, subject, crypto_asset_count, drand_round, drand_randomness, sealed_at, algorithm), signature (base64 Dilithium-2), public_key, seal_id }."
          },
          "payment": {
            "type": "object",
            "description": "Settlement receipt (scheme, network, asset, txHash, payer, settled)."
          },
          "readiness": {
            "type": "object",
            "description": "Informational PQC-readiness breakdown (quantum_vulnerable / pqc / symmetric_or_hash / unknown counts). NOT an audit."
          },
          "verify_drand_at": {
            "type": "string",
            "description": "URL to independently re-check the drand round on drand.sh."
          }
        }
      },
      "settlementModes": [
        "eip3009",
        "txHash"
      ],
      "settlementConfigured": true
    },
    "x402Version": 1,
    "honest_scope": "Seals YOUR DECLARED cryptographic inventory: proves integrity, authenticity of the claim, prior existence (drand timestamp) and non-repudiation. It does NOT audit the inventory for correctness/completeness, and does NOT certify that you are PQC-ready or compliant with CNSA 2.0 or any regulation — that remains your declaration. The quantum-vulnerability counts are informational, not an audit. Dilithium-2 is resistant to known classical & quantum attacks (NIST FIPS 204), not \"unbreakable\"."
  }
]

OVER TIME

All charts use the 30d selector; each series spans only the dates it has data for. Every series is also served as JSON at /api/v1/services/fractalai-post-quantum-proofs-for-ai-agents/price, /scores, /volume and /buyers. On-chain volume and distinct buyers are measured over the service's settlement address and are a conservative undercount (only settlements that reach a measured facilitator are counted). The on-chain series roll up hourly, so the latest day can be up to about an hour behind; distinct buyers are counted per payout address, so a service that settles to more than one address is an upper bound.

UPTIME
08-03 · uptime 100.0% · 238ms avg08-04 · uptime 100.0% · 224ms avg08-05 · uptime 100.0% · 476ms avg08-06 · uptime 100.0% · 619ms avg08-07 · uptime 100.0% · 628ms avg08-08 · uptime 100.0% · 722ms avg08-09 · uptime 100.0% · 303ms avg08-10 · uptime 100.0% · 585ms avg08-11 · uptime 100.0% · 540ms avg08-12 · uptime 100.0% · 342ms avg08-13 · uptime 100.0% · 408ms avg08-0308-13
30d UPTIME 100%
RESPONSE TIME
08-03 · 238ms avg08-03 · 238ms avg08-04 · 224ms avg08-04 · 224ms avg08-05 · 476ms avg08-05 · 476ms avg08-06 · 619ms avg08-06 · 619ms avg08-07 · 628ms avg08-07 · 628ms avg08-08 · 722ms avg08-08 · 722ms avg08-09 · 303ms avg08-09 · 303ms avg08-10 · 585ms avg08-10 · 585ms avg08-11 · 540ms avg08-11 · 540ms avg08-12 · 342ms avg08-12 · 342ms avg08-13 · 408ms avg08-13 · 408ms avg08-0308-13
AVG RESP 473ms
PRICE (captured 402, USD)
08-03 · $0.0508-13 · $0.05$0.0508-0308-13

Median across 7 endpoints. Use the selector to isolate one.

SUB-SCORES (uptime + x402 compliance)
08-03 uptime: 100.0% compliance: 86% checks08-04 uptime: 100.0% compliance: 86% checks08-05 uptime: 100.0% compliance: 86% checks08-06 uptime: 100.0% compliance: 86% checks08-07 uptime: 100.0% compliance: 86% checks08-08 uptime: 100.0% compliance: 86% checks08-09 uptime: 100.0% compliance: 86% checks08-10 uptime: 100.0% compliance: 86% checks08-11 uptime: 100.0% compliance: 86% checks08-12 uptime: 100.0% compliance: 86% checks08-13 uptime: 100.0% compliance: 86% checksuptimecompliance08-0308-13

checklist grew 11->14 on 2026-07-28; a step here is a metric change, not a regression

PILLARS OVER TIME (measured)

Measured site and economics pillars from the assessment history, so the latest value shown elsewhere on this page reads as a point on a trend rather than a permanent state.

VOLUME (on-chain settlement, USD)
no on-chain volume yet
DISTINCT BUYERS
no distinct buyers yet

COMPLIANCE

12/14 checks pass · grade C · failing: declares the current x402 version (2), EIP-712 domain parameters present on every EVM entry

last 402 captured 2026-08-03 · last up 2026-08-13

  • 402 payload captured
  • accepts[] array present
  • payTo address recoverable
  • payTo at accepts[0].payTo (conformant shape)
  • payTo is a valid on-chain address
  • atomic price declared
  • atomic price in a sane range
  • asset (token) address declared
  • network resolves to CAIP-2
  • payment scheme declared
  • served over HTTPS
  • declares the current x402 version (2)
  • EIP-712 domain parameters present on every EVM entry
  • x402 v2 envelope delivered in the payment-required header

SITE PILLARS

  • homepage reachable
  • openapi doc
  • pricing page
  • llms.txt
  • robots.txt
  • terms page
recent checks (18) live · click to expand
TIME STATUS RESP CAUSE
● OK 288ms
● OK 280ms
● OK 283ms
● OK 275ms
● OK 247ms
● OK 338ms
● OK 313ms
● OK 264ms
● OK 220ms
● OK 249ms
● OK 287ms
● OK 390ms
● OK 199ms
● OK 340ms
● OK 382ms
● OK 390ms
● OK 182ms
● OK 271ms

EMBED THIS BADGE

Show that FractalAI � Post-Quantum Proofs for AI Agents is monitored on x402-list. Paste this on your site or README, it links back to this live listing.

FractalAI � Post-Quantum Proofs for AI Agents listed on x402-list
status
FractalAI � Post-Quantum Proofs for AI Agents uptime on x402-list
live uptime
// HTML
<a href="https://x402-list.com/services/fractalai-post-quantum-proofs-for-ai-agents?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/fractalai-post-quantum-proofs-for-ai-agents.svg" alt="FractalAI � Post-Quantum Proofs for AI Agents listed on x402-list" height="28">
</a>
// Markdown
[![FractalAI � Post-Quantum Proofs for AI Agents on x402-list](https://x402-list.com/badge/fractalai-post-quantum-proofs-for-ai-agents.svg)](https://x402-list.com/services/fractalai-post-quantum-proofs-for-ai-agents?utm_source=badge&utm_medium=referral&utm_campaign=embed)
// HTML · live uptime variant
<a href="https://x402-list.com/services/fractalai-post-quantum-proofs-for-ai-agents?utm_source=badge&utm_medium=referral&utm_campaign=embed">
  <img src="https://x402-list.com/badge/fractalai-post-quantum-proofs-for-ai-agents.svg?data=uptime" alt="FractalAI � Post-Quantum Proofs for AI Agents uptime on x402-list" height="28">
</a>

RUN THIS SERVICE?

Keep this listing accurate: propose changes to the name, description, website, category or add new endpoints to monitor. Ownership is verified with a domain proof and every change is reviewed manually; measured data stays read-only.

[ update this listing ]

Earn the verified tier: x402list pays a real call to this endpoint and, if it delivers, the service is delivery-verified. The fee covers the cost of the probe, not the badge; there is no refund if the call does not deliver. Agent and API only, no in-browser signing. See /api.

[ verify this service ($0.25) ]

To request delisting, email info@x402-list.com or update your listing at /services/fractalai-post-quantum-proofs-for-ai-agents/update.