addrbookFor publishers
← The evidence ledger

Evidence row 2241675

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://x402.halowerk.com/policy/check
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
fa295d56d26d41c27c5f95e0db10ac6392517e233cf01303af73632e6ebd9390
Leaf
0x78655c798d619341c5cb71cc359827758775d200370043b48528fd8cd7ff55bd

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://x402.halowerk.com/policy/check"
    ]
  ],
  "name": "HALOWERK x402werk",
  "owner_address": "0x2880edfff13100677bf97a3cbdf3bc34771c4e5e",
  "raw": {
    "accepts": [
      {
        "amount": "2000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "asset": "USDC",
          "assetTransferMethod": "eip3009",
          "eip712Domain": {
            "chainId": 8453,
            "name": "USD Coin",
            "verifyingContract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
            "version": "2"
          },
          "name": "USD Coin",
          "network_name": "Base Mainnet",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:8453",
        "payTo": "0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E",
        "scheme": "exact"
      }
    ],
    "description": "A stateless rule check for agents that pay for x402 endpoints. You supply the proposed payment, your policy and the amounts already spent this hour and this day; this endpoint keeps no ledger of its own and returns your counters unchanged. Every configured rule — max_per_call, max_per_hour, max_per_day, allowed_chains, allowed_assets, allowed_recipients, blocked_recipients, require_schema — is reported individually as erfuellt, verletzt, nicht_pruefbar or nicht_gesetzt, together with the limit a",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "policy": {
                "max_per_call": "1000000",
                "max_per_day": "1000000",
                "max_per_hour": "1000000"
              },
              "proposed_payment": {
                "amount_units": "1000000",
                "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
                "chain": "eip155:8453"
              }
            },
            "bodyType": "json",
            "method": "POST",
            "type": "http"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "body": {
                  "additionalProperties": false,
                  "properties": {
                    "policy": {
                      "additionalProperties": false,
                      "properties": {
                        "allowed_assets": {
                          "description": "Token addresses you accept. Omit to allow any.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "allowed_chains": {
                          "description": "Chains you accept, as CAIP-2 or short names. Omit to allow any.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "allowed_recipients": {
                          "description": "Recipient addresses you accept. Omit to allow any; the recipient is then flagged as unverified.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "blocked_recipients": {
                          "description": "Recipient addresses you refuse. Beats allowed_recipients on conflict.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "max_per_call": {
                          "description": "Largest allowed single payment, in whole tokens of the proposed asset, for example \"0.05\".",
                          "pattern": "^[0-9]+(\\.[0-9]+)?$",
                          "type": "string"
                        },
                        "max_per_day": {
                          "description": "Largest allowed sum per day, in whole tokens.",
                          "pattern": "^[0-9]+(\\.[0-9]+)?$",
                          "type": "string"
                        },
                        "max_per_hour": {
                          "description": "Largest allowed sum per hour, in whole tokens.",
                          "pattern": "^[0-9]+(\\.[0-9]+)?$",
                          "type": "string"
                        },
                        "require_schema": {
                          "description": "Whether the offer must declare an inputSchema.",
                          "type": "boolean"
                        }
                      },
                      "type": "object"
                    },
                    "proposed_payment": {
                      "additionalProperties": false,
                      "properties": {
                        "amount_units": {
                          "description": "Amount of the proposed payment as an integer in the smallest unit of the token.",
                          "pattern": "^[0-9]{1,78}$",
                          "type": "string"
                        },
                        "asset": {
                          "description": "Token contract address, or \"native\" for the chain coin.",
                          "type": "string"
                        },
                        "chain": {
                          "description": "Chain as CAIP-2 (\"eip155:8453\"), short name (\"base\") or chain id.",
                          "type": "string"
                        },
                        "input_schema_present": {
                          "description": "Whether the offer declares an inputSchema. Use Nr. 83 to find out if you do not know.",
                          "type": "boolean"
                        },
                        "pay_to": {
                          "description": "Recipient address of the proposed payment.",
                          "type": "string"
                        },
                        "resource": {
                          "description": "URL of the resource being bought. Nothing is fetched; it is only checked for shape.",
                          "maxLength": 2048,
                          "type": "string"
                        }
                      },
                      "required": [
                        "amount_units"
                      ],
                      "type": "object"
                    },
                    "spent_so_far": {
                      "additionalProperties": false,
                      "properties": {
                        "day": {
                          "description": "Already spent in the current day, in whole tokens.",
                          "pattern": "^[0-9]+(\\.[0-9]+)?$",
                          "type": "string"
                        },
                        "hour": {
                          "description": "Already spent in the current hour, in whole tokens.",
                          "pattern": "^[0-9]+(\\.[0-9]+)?$",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    }
                  },
                  "required": [
                    "proposed_payment",
                    "policy"
                  ],
                  "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"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    },
    "lastUpdated": "2026-11-02T14:55:28.041Z",
    "quality": {
      "l30DaysTotalCalls": 1,
      "l30DaysUniquePayers": 1,
      "lastCalledAt": "2026-11-02T14:55:27.505Z"
    },
    "resource": "https://x402.halowerk.com/policy/check",
    "serviceName": "HALOWERK x402werk",
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "A stateless rule check for agents that pay for x402 endpoints. You supply the proposed payment, your policy and the amounts already spent this hour and this day; this endpoint keeps no ledger of its own and returns your counters unchanged. Every configured rule — max_per_call, max_per_hour, max_per_day, allowed_chains, allowed_assets, allowed_recipients, blocked_recipients, require_schema — is reported individually as erfuellt, verletzt, nicht_pruefbar or nicht_gesetzt, together with the limit a"
}

What the leaf hashes

{"body":"fa295d56d26d41c27c5f95e0db10ac6392517e233cf01303af73632e6ebd9390","id":2241675,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793647629633962,"prev":null,"subject":"x402_bazaar:https://x402.halowerk.com/policy/check","subject_kind":"source_record"}

Proof

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

  1. 0x7865ab30c41c5f54db98b88a9a8d5f9d3a0b1239aa318daaf1b735ba4066683b
  2. 0xa81b69b60379de36b2880c57bda53f0620b2e83ec8af1c242d01fc6d50626462
  3. 0x155e2100a3faebe55cdf31168f0335bab4c70171f4c860c80e43f56c6bcf121e
  4. 0x0605c54fb713a993cba1923763ad1119b5f643ad9c0812593878fa03a7b3bad8
  5. 0x3906ae75e41d2765fea85959751264e2362c5688426856d0d0119195a15f5f99
  6. 0x041153fbed52cb5e8bbc89a4e40f5ea2bffe1fe1be8d2393f6fdb4190760cfd4
  7. 0xd42e91498b8e556637fffb49d43c64218d04db32090ba685abf8722051112c44
  8. 0xbce32ae033ae50e3ddf781c292a46dbb0ca5acf7f92e14629a002f3c2bda353d
  9. 0xb11ac237c030442f7c45455741331f330ad16f9d2302373e2a58fa1bfc318ed0
  10. 0x9feda2e6e55b73e4d221bb7997ad54e9cdc569e9f0fa504587aef26061de2667
  11. 0x2f7145aa4c4586f7e87ee7c69e62058d78804cbf6443b01273b4f902d3df5138
  12. 0x6a5525c1d945ed75b00811393657c28cf06b7a9f2c841743bc74d1568a7e6799
  13. 0x6b3fe16d0ef17e7fec65e784ea66cb7142a8765f3978756ef310ba9d8f928afc
  14. 0xe387a7d610f91d4dc112f2dbdf7ae32c4555f5da4c25c1a9a1310d0b74e80bbf
  15. 0x60dd7fd8117cbf3b80707f722623736c8c2b5b56277e8e78c9f81ef2dab8deab
  16. 0x3b89dd05634a82075204d3c671f613081ddfd9df739c64c0a8f39081bdfa32c7
  17. 0x1805ef693fbdb2c23fcb61616f830408ca89bec1dc5b68ee47a770ffc0b9760a
  18. 0x4d205063c881c48edbbb37762a8d3bbb7444d4c42daa882f663a231893d25c35
  19. 0x365b161a4b68d750dcc4b3ecce1154a2163c87b08762079428e68f0ebb6a754e
Day root
0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
Chained
0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
Published
On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af

How to check it · This row as JSON