addrbookFor publishers
← The evidence ledger

Evidence row 306068

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 946b4cb6-fdc8-4db6-86e1-234986a2970f
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
c9f69f8218e67db09aa9148ea25f1835ffe9ac79391af218bcfc6a97d9b2495f
Leaf
0x2d6d250d7efa78aed971f7cf989285778f8a684423ce0872c78146b060d227bb

What was observed

{
  "count": 8,
  "tools": [
    {
      "description": "Size and health of the x402 catalogue as of the latest full scan: resources, hosts, verdict\n    counts, and payable endpoints per network.",
      "inputSchema": {
        "properties": {},
        "title": "catalogue_statsArguments",
        "type": "object"
      },
      "name": "catalogue_stats"
    },
    {
      "description": "Verdict changes between the two latest full scans (catalogue wide, or for one host), plus the\n    declared model drift watch.",
      "inputSchema": {
        "properties": {
          "host": {
            "default": "",
            "title": "Host",
            "type": "string"
          }
        },
        "title": "drift_statusArguments",
        "type": "object"
      },
      "name": "drift_status"
    },
    {
      "description": "Search the catalogue by host or URL substring. Returns up to `limit` endpoints (max 50) with their\n    latest verdict, plus the total match count. Use this first when you do not know the exact resource URL.\n    Rows with in_latest_scan=false were not in the latest full scan; read last_checked_at for when they were last probed.\n    Optional network filter (for example eip155:8453 or solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp) and\n    sort=price for the cheapest first.\n    last_checked_at is the currency claim: the last time any scan or reprobe looked at this resource. in_latest_scan means only that the resource was in the latest full scan; a row reprobed the same day can carry in_latest_scan=false and still be current. verdict_since is when the current\n    verdict was first observed in the unbroken run that leads to it. A scan that did not\n    contain the resource does not break the run, so verdict_since can span weeks nobody\n    measured. How current a row is comes from last_checked_at and in_latest_scan, not from\n    verdict_since alone.",
      "inputSchema": {
        "properties": {
          "limit": {
            "default": 25,
            "title": "Limit",
            "type": "integer"
          },
          "network": {
            "default": "",
            "title": "Network",
            "type": "string"
          },
          "query": {
            "title": "Query",
            "type": "string"
          },
          "sort": {
            "default": "",
            "title": "Sort",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "title": "find_endpointsArguments",
        "type": "object"
      },
      "name": "find_endpoints"
    },
    {
      "description": "Summary for a host (no time series): first/last seen, current verdict mix, n_resources, total\n    verdict changes, gone_since if absent from the latest full scan, and a small resources_sample.\n    Sample rows with in_latest_scan=false were not in the latest full scan; read last_checked_at for when they were last probed.\n    n_resources counts every resource ever seen for this host; current_verdict_mix and n_payable_last_full count only the latest full scan.\n    last_checked_at is the currency claim: the last time any scan or reprobe looked at this resource. in_latest_scan means only that the resource was in the latest full scan; a row reprobed the same day can carry in_latest_scan=false and still be current. verdict_since is when the current\n    verdict was first observed in the unbroken run that leads to it. A scan that did not\n    contain the resource does not break the run, so verdict_since can span weeks nobody\n    measured. How current a row is comes from last_checked_at and in_latest_scan, not from\n    verdict_since alone.",
      "inputSchema": {
        "properties": {
          "host": {
            "title": "Host",
            "type": "string"
          }
        },
        "required": [
          "host"
        ],
        "title": "host_summaryArguments",
        "type": "object"
      },
      "name": "host_summary"
    },
    {
      "description": "Latest payability observation for one exact resource URL (path and query included), with the\n    meaning of the verdict, remediation if it cannot be paid, and the per-network options seen.\n    last_checked_at is the currency claim: the last time any scan or reprobe looked at this resource. in_latest_scan means only that the resource was in the latest full scan; a row reprobed the same day can carry in_latest_scan=false and still be current. verdict_since is when the current\n    verdict was first observed in the unbroken run that leads to it. A scan that did not\n    contain the resource does not break the run, so verdict_since can span weeks nobody\n    measured. How current a row is comes from last_checked_at and in_latest_scan, not from\n    verdict_since alone.",
      "inputSchema": {
        "properties": {
          "url": {
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "title": "payability_verdictArguments",
        "type": "object"
      },
      "name": "payability_verdict"
    },
    {
      "description": "Published weekly payability reports (from the signed manifest).",
      "inputSchema": {
        "properties": {},
        "title": "reportsArguments",
        "type": "object"
      },
      "name": "reports"
    },
    {
      "description": "Offline EIP-191 verify of a signed nsgoods response. Identifies the service from the\n    manifest (or the optional `service` arg), strips exactly that service's post-sign fields,\n    canonicalises (JCS, both ASCII modes), recovers the signer and checks it against the\n    published manifest signers. Reproduction-attestation (JCS/byte-length) and envelope\n    (signer/signature, components) shapes are reported as unsupported_shape, not verified here.\n    Refusals carry a distinct status: malformed_signature (signature is not a 65-byte 0x-prefixed\n    hex string), schema_rejected (the body carries a signed_by/signature pair but fails the required\n    field shape for every service the claimed signer covers; recovery was not attempted, checked is\n    false, reasons lists the failed candidates), signature_mismatch (well-formed but recovers a\n    different address than signed_by under every candidate service recipe of this signer),\n    no_flat_recipe (signed_by is a manifest signer but every service it covers uses an envelope shape,\n    so there is no flat recipe to check; recovery was not attempted, checked is false),\n    unknown_signer (signed_by is not a manifest signer; recovery was not attempted, checked is false),\n    unsupported_shape, or the no-signed_by/signature-pair case.\n    checked is true only when EIP-191 recovery actually ran; every other refusal reports checked false.",
      "inputSchema": {
        "properties": {
          "response_json": {
            "title": "Response Json",
            "type": "string"
          },
          "service": {
            "default": "",
            "title": "Service",
            "type": "string"
          }
        },
        "required": [
          "response_json"
        ],
        "title": "verify_signatureArguments",
        "type": "object"
      },
      "name": "verify_signature"
    },
    {
      "description": "Current x401 emitter adoption across the scanned catalogue (from the daily watcher).",
      "inputSchema": {
        "properties": {},
        "title": "x401_statusArguments",
        "type": "object"
      },
      "name": "x401_status"
    }
  ]
}

What the leaf hashes

{"body":"c9f69f8218e67db09aa9148ea25f1835ffe9ac79391af218bcfc6a97d9b2495f","id":306068,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793056793880263,"prev":null,"subject":"946b4cb6-fdc8-4db6-86e1-234986a2970f","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0x2d6cee03e25b0a6be2831a073be3d44b05e8d0d36a0862d91c135e733f86cc7e
  2. 0xf5638836026245239be3bd1270a1c299b89311b8c8d1833de90f7eb199263fb4
  3. 0xf94f8b4391571f0faa90cce34299625bb8259ef57091d17819a3456d133c1a6e
  4. 0x6e89d665caf116df7c26d8a5d3069066d9a643b39dfed6733a459213058dea2c
  5. 0x53171b5037b3270e10c9d63900aafc9a06f23730c87cfef9671117693e4a8dea
  6. 0x7ffda7b1fe3677205503dec3fefab19a78d782ebd44c2b060273ffd4e0755924
  7. 0xaa9578ef8a5a137bc31172fc60fef389ea5518b5acd2c7365adfa97e4f4ae9bc
  8. 0x12c026502db6cbba1b1b91e7bdcda0ede5c7b9a8ad16aa76d2e00fe3c33faf48
  9. 0x4118d31d6eb113d76e872c5d62016ea7d7579ae5f20f6cce8a0705bfb6a4921f
  10. 0xfebc7a0b0bf8746a2821ac5da36e68a391f5528503546c156de64dcfb3f4e54e
  11. 0x0a14d7531a251f3320f61b058ccd68e743331eaf8f3058982b949d68be76670c
  12. 0xf89d9951e0a8e08b9cf11177a1f4e0fd86d9facc5dfecaabbfe564675ebefef7
  13. 0xb87e8b32cda179c9e632e227bbd8a6d1f6f61d9d81bb92dbd4dd835d2b3b5caa
  14. 0x683955a5b2250ad50568d022a6580d8739b6aff1356779d72a773b088e7c289c
  15. 0x610738e0c43687aded83c613c73de8b5226c73c375858a167436461c522ea213
  16. 0x06d71bfa7d8b41d62c8836efc2c601e1cc3772d9453596b2ae4950887f3310ca
  17. 0x8c756542e482157df0c36464d75c937b845e4423dbbcfad08f0cf8d5a16b9a13
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON