{
  "directory": "Animica 402 Scan",
  "description": "Public directory of x402 services that settle natively in ANM. Free to list, free to read. Every entry is PROBED — \"live\" means we fetched it and got a real 402 advertising an animica:* lane, not that someone told us so.",
  "total": 3,
  "live": 3,
  "count": 3,
  "services": [
    {
      "service_id": "fa87a375-aee9-4bb2-8795-713fe57c446e",
      "url": "https://animica.dev/x402/notarize",
      "host": "animica.dev",
      "name": null,
      "description": "Anchor a SHA-256 digest (or a small document, which we hash for you) into the Animica data-availability layer and get back a commitment plus a Merkle inclusion proof anyone can check without trusting us. The record is erasure-coded across shards and committed to a Merkle root; the response carries the commitment, the leaf index and sibling path, and the chain head height and hash observed at the moment of anchoring. Verification is FREE and permanent at GET /x402/notarize/verify/{commitment} — a notarisation nobody can check would be worth nothing. Note precisely what this proves: the record is committed in this node's DA tree under the returned commitment, alongside the head it observed. That is not the same as a timestamp signed by the whole consensus set, and the response says so rather than blurring the two.",
      "provider": "Animica",
      "category": null,
      "network": "animica:1",
      "asset": "ANM",
      "pay_to": "anim1zqpsmegc0qcvzjfukm89xs0zeu3eqyyyel7kelehuszvwfarqypky2gr946ga",
      "price_nanm": "56869756567",
      "price_display": "61.889698803 ANM",
      "status": "live",
      "verified": true,
      "last_probe_at": "2026-08-18T17:32:22.000Z",
      "last_ok_at": "2026-08-18T17:32:22.000Z",
      "probe_detail": "ok",
      "fail_count": 0
    },
    {
      "service_id": "60fde699-8e67-47f9-b9ac-efeb0d6b2b40",
      "url": "https://animica.dev/x402/qrng/draw",
      "host": "animica.dev",
      "name": null,
      "description": "Random bytes from the Animica node's randomness service with a signed digest attestation and an entropy-health report, 1..1024 bytes per draw. Current trust model, stated up front and in every response: the entropy source is a software CSPRNG (os.urandom) and the signer is a software key, so source.is_quantum=false and attestation.attested=false today; those fields flip truthfully if a hardware/quantum provider is ever connected. The free catalog entry carries the same live entropy block, so you can check the source before paying.",
      "provider": "Animica",
      "category": null,
      "network": "animica:1",
      "asset": "ANM",
      "pay_to": "anim1zqpsmegc0qcvzjfukm89xs0zeu3eqyyyel7kelehuszvwfarqypky2gr946ga",
      "price_nanm": "47393756017",
      "price_display": "47.393756017 ANM",
      "status": "live",
      "verified": true,
      "last_probe_at": "2026-08-18T17:29:38.000Z",
      "last_ok_at": "2026-08-18T17:29:38.000Z",
      "probe_detail": "ok",
      "fail_count": 0
    },
    {
      "service_id": "451dcc7f-c423-459a-8802-3bf4215929f0",
      "url": "https://animica.dev/x402/web/fetch",
      "host": "animica.dev",
      "name": null,
      "description": "Fetch a public web page and return clean readable text with its title and metadata - the form a model can actually use, with navigation, scripts and styling removed. Follows up to 3 redirects, caps the download at 2000000 bytes and gives up after 15000ms. Reaches the PUBLIC internet only: the hostname is resolved and every redirect hop re-checked against private, loopback, link-local and CGNAT ranges, so this cannot read internal services or cloud metadata. Returns raw HTML too on request.",
      "provider": "Animica",
      "category": null,
      "network": "animica:1",
      "asset": "ANM",
      "pay_to": "anim1zqpsmegc0qcvzjfukm89xs0zeu3eqyyyel7kelehuszvwfarqypky2gr946ga",
      "price_nanm": "41259799202",
      "price_display": "41.259799202 ANM",
      "status": "live",
      "verified": true,
      "last_probe_at": "2026-08-18T17:29:38.000Z",
      "last_ok_at": "2026-08-18T17:29:38.000Z",
      "probe_detail": "ok",
      "fail_count": 0
    }
  ],
  "register": "POST /x402/scan/register {\"url\":\"https://…/your-paid-route\"}",
  "self": {
    "gateway": "https://animica.dev/x402",
    "network": "animica:1"
  }
}