addrbookFor publishers
← The evidence ledger

Evidence row 563460

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://how.is/v1/bot/verify
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
fe629598a541f637d60934d6852555f1b844d3fe54d0e34e1345f6a387caf07e
Leaf
0xf97e2720d151788ef7cc9de03c2b061e0f0f38c0aa2dd56e838984df4d5cdb05

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://how.is/v1/bot/verify"
    ]
  ],
  "name": "how.is",
  "owner_address": "0xa76a0e93c5af3fd43521300b0a58ef5f70fc44f6",
  "raw": {
    "accepts": [
      {
        "amount": "5000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:8453",
        "payTo": "0xa76a0E93C5af3fd43521300B0a58eF5F70fC44F6",
        "scheme": "exact"
      }
    ],
    "description": "Verify a crawler's identity: is this IP + user-agent really Googlebot, Bingbot, GPTBot or ClaudeBot, an impostor using the name, another bot, or a person?",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "ip": "20.171.207.1",
              "ua": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)"
            },
            "bodyType": "json",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "example": {
              "data": {
                "_shape": "data: verdict (verified / impostor / unknown_bot / likely_human_or_unclassified), confidence, automation_likely, claimed, identified_as{operator, method, evidence}, reasons[], how_to_act, checks{published_ranges, reverse_dns, asn}, observatory{network, fingerprint, claimed_family, impostors_seen}."
              },
              "receipt": {
                "charge_usd": 0.005,
                "rail": "x402",
                "settlement_tx": "0x…",
                "tool": "bot_verify"
              },
              "result": "Crawler identity check for the requested subject"
            },
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "body": {
                  "additionalProperties": false,
                  "properties": {
                    "ip": {
                      "description": "The visitor's public IPv4 or IPv6 address",
                      "type": "string"
                    },
                    "ja4": {
                      "description": "Optional TLS JA4 fingerprint, e.g. t13d1516h2_8daaf6152771_02713d6af862",
                      "maxLength": 80,
                      "type": "string"
                    },
                    "ua": {
                      "description": "The User-Agent header it sent (omit or empty if none)",
                      "maxLength": 1000,
                      "type": "string"
                    }
                  },
                  "required": [
                    "ip"
                  ],
                  "type": "object"
                },
                "bodyType": {
                  "enum": [
                    "json",
                    "form-data",
                    "text"
                  ],
                  "type": "string"
                },
                "method": {
                  "enum": [
                    "POST",
                    "PUT",
                    "PATCH"
                  ],
                  "type": "string"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "method",
                "bodyType",
                "body"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "type": "object"
                },
                "type": {
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    },
    "iconUrl": "https://res.cloudinary.com/bdb-prod/image/upload/c_fill,ar_1:1,w_256,h_256,f_auto,q_auto/v1793136692/bazaar-icons/33e0d64a881c43a7.png",
    "lastUpdated": "2026-10-27T21:31:31.793Z",
    "quality": {
      "lastCalledAt": "2026-10-27T21:31:31.793Z"
    },
    "resource": "https://how.is/v1/bot/verify",
    "serviceName": "how.is",
    "tags": [
      "bot-detection",
      "crawlers",
      "googlebot",
      "security",
      "firewall"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Verify a crawler's identity: is this IP + user-agent really Googlebot, Bingbot, GPTBot or ClaudeBot, an impostor using the name, another bot, or a person?"
}

What the leaf hashes

{"body":"fe629598a541f637d60934d6852555f1b844d3fe54d0e34e1345f6a387caf07e","id":563460,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793137725807788,"prev":null,"subject":"x402_bazaar:https://how.is/v1/bot/verify","subject_kind":"source_record"}

Proof

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

  1. 0xf97eabd9f2005a7d550fdf4cc45cbf1e3d81d61f483b3dac0431d208c3863fa0
  2. 0x951259e8856a9b2bab8adeb0270102a676a46a9628f7129b48d1ef7bb45fd241
  3. 0xca968926a2ae8b1974816a3e7510776c6282df0095a48f1c9d388292eefed766
  4. 0xbf0708c5c7584419b5df1cb5a4013aad5a00465f1363668859fc071ce1aae8f4
  5. 0xc61d08cb32b339f1ebac9c6a3fb526c0a636c4b426f2b9b1b3f36b4a3fd609c6
  6. 0x9f4b19a3c2c170d79c3122d1205e1f7676ac9f71eccfa0f28bf4168704614ef4
  7. 0xdbf1668a97ca74ffa7c61c4e5aeb0cc1452d7cc88ac928fbc422000974d8083b
  8. 0xee755674c83fdc6fe11e4ef17c17420af921cdf48fb262bd8451fd0293afbbd2
  9. 0x20c9ec9fef1844bff3f8d38670a07558f0c1e1f3d0e4b389fd672441248962cb
  10. 0x99ccdd0dbb782152b81cbfe0c76a4780045a358404968491c7f233c4dfe1e6c0
  11. 0x38d8d177d48b033acf33474f44cf1a36a3cfaa58563d48c7d92671c34bb12589
  12. 0x58215df828d47943a710362ab6e17ad0eb4a7c42a13dbec3ab2635d1abf3945f
  13. 0xf24b37f8ac293f5328e3e6b28cf868989fe99debf025c153c0d9a1698e846e25
  14. 0x94d3785ce9330e4580bccada5459380aa2aac76a0bf11354d1353b375afc17d2
  15. 0xb5b652bba4a5afca56c21031d89b1c06361563aaf54ccc8541c296ceeb2b66fa
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON