addrbookFor publishers
← The evidence ledger

Evidence row 1039622

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://api.fresh402.com/v1/check
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
9f94a9bcf8f59e3e1749b4f93ab6190da73d05acad1ae31313cc818455bd26ab
Leaf
0xf9b5d118cbedc176105f393b51e69490ef6bfa4a66d2d4c868919525a90d4bc4

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://api.fresh402.com/v1/check"
    ]
  ],
  "name": "Fresh402 Web Intelligence",
  "owner_address": "0xfac492a8d7843c9afcca6a1691bccb5425ab14f3",
  "raw": {
    "accepts": [
      {
        "amount": "5000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:8453",
        "payTo": "0xFAC492A8D7843C9aFCCa6A1691BCCB5425ab14F3",
        "scheme": "exact"
      }
    ],
    "description": "Use Check for a changed/unchanged signal and optional compact text diff. Exactly one URL or existing watch ID; URL plus rules can create a watch, whereas watch_id reuses saved rules and forbids overrides. Use Smart Diff for structured changes. On-demand only; x402 $0.005 USDC on Base, including cache hits.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "include_diff": true,
              "url": "https://example.com/"
            },
            "bodyType": "json",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "example": {
              "cached": false,
              "changed": false,
              "content_kind": "html",
              "diff": {
                "available": true,
                "change_ratio": 0,
                "changed": false
              },
              "hash": "1111111111111111111111111111111111111111111111111111111111111111",
              "network_fetched": true,
              "url": "https://example.com/",
              "watch_id": "w_0123456789abcdef0123456789abcdef"
            },
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "body": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "description": "Paid Check input: exactly one of url or watch_id is required. Content rules are allowed only on the url path; watch_id always reuses saved rules. Optional previous_hash overrides the reference hash; max_age_seconds controls cache reuse and include_diff controls text-diff output.",
                  "examples": [
                    {
                      "include_diff": true,
                      "max_age_seconds": 0,
                      "selector": "main",
                      "url": "https://example.com/docs"
                    }
                  ],
                  "oneOf": [
                    {
                      "required": [
                        "url"
                      ]
                    },
                    {
                      "required": [
                        "watch_id"
                      ]
                    }
                  ],
                  "properties": {
                    "html_attributes": {
                      "description": "Optional HTML-only watch rule: up to4 of href,title,alt,aria-label; default[] retains existing text-only normalization. Distinct names are sorted; nonempty rules create a separate version1 watch/baseline. Records bounded meaningful attributes within the saved selector or filtered page, including same-text link destination changes. Cannot be supplied with watch_id, even[]. Unsafe hrefs are hashed, never fetched. Limits:200 elements,2048 characters/value,32768 evidence bytes; excess fails, never clips silently.",
                      "items": {
                        "description": "One explicitly observed HTML attribute: href (a/area only),title,alt or aria-label. No class/style/event attributes; links are inert evidence and never fetched.",
                        "enum": [
                          "alt",
                          "aria-label",
                          "href",
                          "title"
                        ],
                        "type": "string"
                      },
                      "maxItems": 4,
                      "type": "array"
                    },
                    "ignore_json_paths": {
                      "description": "Optional JSON-only exclusions, up to 20 paths of 1-256 characters starting with '/'; '~0'/'~1' escapes and '*' segments are supported. Example: ['/updated_at']. Accepted only with url; default []. With watch_id, omit entirely (including []): saved paths are reused.",
                      "items": {
                        "description": "JSON Pointer-style path, 1-256 characters, starting with '/'. Decode '~0' as '~' and '~1' as '/'; '*' matches all object keys or array elements. Example: '/items/*/updated_at'.",
                        "maxLength": 256,
                        "minLength": 1,
                        "pattern": "^\\/",
                        "type": "string"
                      },
                      "maxItems": 20,
                      "type": "array"
                    },
                    "ignore_selectors": {
                      "description": "Optional HTML-only exclusion array, up to 20 supported CSS selectors of 1-256 characters each, e.g. ['.timestamp']. Accepted only with url; default []. With watch_id, omit the field entirely (including []): saved exclusions are reused.",
                      "items": {
                        "description": "HTML element(s) to remove before normalization: a supported CSS selector, 1-256 characters, e.g. '.timestamp' or 'nav'.",
                        "maxLength": 256,
                        "minLength": 1,
                        "type": "string"
                      },
                      "maxItems": 20,
                      "type": "array"
                    },
                    "include_diff": {
                      "description": "Optional boolean; runtime default: true. Request a compact deterministic text diff when content changed and compatible prior text is retained. False omits the diff; true cannot recover unavailable old content and does not enable Smart Diff's structural analysis.",
                      "type": "boolean"
                    },
                    "max_age_seconds": {
                      "description": "Optional integer cache age in seconds, 0-86400; runtime default: 0. A positive value permits reuse of a sufficiently recent watch result without fetching. Zero contacts the source (conditional HTTP may return 304). Cached Checks still require payment; this does not schedule background polling.",
                      "maximum": 86400,
                      "minimum": 0,
                      "type": "integer"
                    },
                    "previous_hash": {
                      "description": "Optional previous Fresh402 content hash: exactly 64 hexadecimal characters, case-insensitive. Overrides comparison with the watch's current stored hash. Omit to use that stored hash; a new URL watch without a prior hash returns changed:null. Hash comparison does not require retained old text, but a text diff does; a hash cannot reconstruct missing content.",
                      "pattern": "^[a-fA-F0-9]{64}$",
                      "type": "string"
                    },
                    "selector": {
                      "description": "Optional HTML CSS scope, 1-256 characters, e.g. 'main'; accepted only with url. Omit for the page after built-in noise removal. No match returns 422; not supported for JSON/plain text. With watch_id, omit this field: the saved selector is reused.",
                      "maxLength": 256,
                      "minLength": 1,
                      "type": "string"
                    },
                    "url": {
                      "description": "Supply exactly one of url or watch_id. URL must be absolute public HTTPS on port 443, at most 4096 characters, with no credentials/private targets, e.g. 'https://example.com/docs'. Fresh402's own service URLs, including its discovery /openapi.json, cannot be targets; choose an external public document. With url, optional content rules identify the watch; an existing watch is reused or a new one is created by this paid Check. Separate registration is not required. No JavaScript rendering.",
                      "format": "uri",
                      "maxLength": 4096,
                      "pattern": "^[Hh][Tt][Tt][Pp][Ss]://",
                      "type": "string"
                    },
                    "watch_id": {
                      "description": "Supply exactly one of watch_id or url. An existing ID returned by fresh402_register (free), POST /v1/register, or a URL-based Check: 'w_' followed by 32 lowercase hexadecimal characters. Reuses that watch's stored URL and rules. When supplied, omit selector, ignore_selectors and ignore_json_paths entirely, even empty arrays. Do not invent an ID.",
                      "pattern": "^w_[a-f0-9]{32}$",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "bodyType": {
                  "enum": [
                    "json",
                    "form-data",
                    "text"
                  ],
                  "type": "string"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "properties": {
                    "cache_status": {
                      "type": "string"
                    },
                    "cached": {
                      "type": "boolean"
                    },
                    "changed": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "checked_at": {
                      "type": "string"
                    },
                    "comparison_source": {
                      "type": "string"
                    },
                    "content_kind": {
                      "type": "string"
                    },
                    "diff": {
                      "properties": {
                        "added_excerpt": {
                          "type": "string"
                        },
                        "available": {
                          "type": "boolean"
                        },
                        "change_ratio": {
                          "type": "number"
                        },
                        "changed": {
                          "type": "boolean"
                        },
                        "content_truncated": {
                          "type": "boolean"
                        },
                        "excerpt_truncated": {
                          "description": "True when bounded contextual added/removed excerpts were clipped; independent of retained snapshot completeness.",
                          "type": "boolean"
                        },
                        "reason": {
                          "type": "string"
                        },
                        "removed_excerpt": {
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "final_url": {
                      "type": "string"
                    },
                    "hash": {
                      "type": "string"
                    },
                    "html_attribute_rules_version": {
                      "const": 1
                    },
                    "html_attributes": {
                      "items": {
                        "enum": [
                          "href",
                          "title",
                          "alt",
                          "aria-label"
                        ]
                      },
                      "type": "array"
                    },
                    "network_fetched": {
                      "type": "boolean"
                    },
                    "noise_detected": {
                      "type": "boolean"
                    },
                    "normalizer_version": {
                      "type": "integer"
                    },
                    "persistence_error": {
                      "type": "string"
                    },
                    "previous_hash": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "raw_changed": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "snapshot_saved": {
                      "type": "boolean"
                    },
                    "snapshot_truncated": {
                      "type": "boolean"
                    },
                    "url": {
                      "type": "string"
                    },
                    "watch_id": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "watch_id",
                    "hash",
                    "changed",
                    "content_kind"
                  ],
                  "type": "object"
                },
                "type": {
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    },
    "lastUpdated": "2026-10-29T07:52:14.678Z",
    "quality": {
      "l30DaysTotalCalls": 1,
      "l30DaysUniquePayers": 1,
      "lastCalledAt": "2026-10-29T07:52:14.165Z"
    },
    "resource": "https://api.fresh402.com/v1/check",
    "serviceName": "Fresh402 Web Intelligence",
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Use Check for a changed/unchanged signal and optional compact text diff. Exactly one URL or existing watch ID; URL plus rules can create a watch, whereas watch_id reuses saved rules and forbids overrides. Use Smart Diff for structured changes. On-demand only; x402 $0.005 USDC on Base, including cache hits."
}

What the leaf hashes

{"body":"9f94a9bcf8f59e3e1749b4f93ab6190da73d05acad1ae31313cc818455bd26ab","id":1039622,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793298451214858,"prev":null,"subject":"x402_bazaar:https://api.fresh402.com/v1/check","subject_kind":"source_record"}

Proof

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

  1. 0xf9b5d6d353777908d4de524996a26f258f2bbbca7b7d08a307a4c09ad92b1586
  2. 0xe4ab1e80f0fdbaf43dbbe58db024b32b3ea7afb6cf879cead40bb8c3d28ae46b
  3. 0x8a005786359e1c1890832786c439b230611c6c01018cbc9d10d606f8b82b08d2
  4. 0x6d8c91137c64f75600a1967b3900f9884f3127166bf1d7c658a7ce5892cad20f
  5. 0xab2051bf94c836fe615475772e4368c905d5cd21054df266b27063d3e9f035db
  6. 0x9ee3c570697a6f7ac558e319c8332be3a74ea36f0b3d6d19b49a34abbd40dc09
  7. 0x4fd1b6f022a7fa3980b57090a3a6db091b8e5098e8abd33e257b033844119d2e
  8. 0xc89a20f0fa2f6d4ffc97dbce6f26bf55e834094c22683777d55da064600c7c75
  9. 0x48eb8edaef072e6aecd8130d2109d6f3ddc73615448aa720fb0905271c255050
  10. 0x31cc2ca2974597a54133fa581b2cc7ed7cab3b259fa9f231d3dded23df8fcc9b
  11. 0x7f23bfed1fdda31afa76b1c22ea7bed6e02d7596a82c39dfcea1212c92144f45
  12. 0xf082b147a7521613fbe9272eab89fe351bb2d36c32cae2135effcb786b6dc16c
  13. 0xa692280fe21039882d68ea89ab3cede099743aeaa4bda6812798278201af19f0
  14. 0xc7119ea806f683838e5f48055d7f1b7fded1f500c6064dabeb8b9a36bba8932f
  15. 0x1dd763930a8023065a24b676469b4f26d92a89cfe71226ced9df379f43ec0f0a
  16. 0x1597ec94933260048e5e583aff1ad0fd44cc49efcd0a994091ed5db4924d7b02
  17. 0xe01539ac4c9f9cdf265a9e5c6d99c8da11e70ff0c7175fb23e402d33b9d79785
Day root
0xc050555c6b023f2aefb6536efb9f0760b92c30a0d06c572b7daf63db259ea17c
Chained
0x4cde8bae2042512e1bec11650628f0293556311cc4ea74d99ffddf02b671a7d6
Published
On Arc Testnet, block 69753317: 0x9e85c340732f416e431b111fae72f7624870125f7f379af2732eb6c2ba8cf6a1

How to check it · This row as JSON