addrbookFor publishers
← The evidence ledger

Evidence row 1791075

Observed , by sync.x402_bazaar/1.

Kind
listing
About
source_record x402_bazaar:https://freetier-agent-api.pages.dev/api/geocode
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
b0cd32ee45816ff4c469b2c6eb94ac3b3eb7d50e3ea4ee03fbbf9f9fe73a16be
Leaf
0x720ba38c35d0b7c135afa3d9c607dda4506ae0509a701c81554b03b381cc9a0f

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://freetier-agent-api.pages.dev/api/geocode"
    ]
  ],
  "name": "Agent Extraction API",
  "owner_address": "0x165eb3dc3e98403ecb1141e90400f5e71806554b",
  "raw": {
    "accepts": [
      {
        "amount": "1500",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 300,
        "network": "eip155:8453",
        "payTo": "0x165Eb3dC3E98403ecB1141e90400F5e71806554B",
        "scheme": "exact"
      }
    ],
    "description": "Geocoding with OpenStreetMap Nominatim: address or place name -> coordinates (up to 5 matches, optional country filter), or lat+lon -> structured address (reverse). Structured address fields, country code, bounding box, OSM id. Cached; ODbL attribution included.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "method": "GET",
            "queryParams": {
              "q": "Eiffel Tower, Paris"
            },
            "type": "http"
          },
          "output": {
            "example": {
              "attribution": "Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright",
              "count": 1,
              "mode": "forward",
              "query": {
                "country": null,
                "limit": 1,
                "q": "Eiffel Tower, Paris"
              },
              "results": [
                {
                  "address": {
                    "city": "Paris",
                    "country": "France",
                    "country_code": "FR",
                    "county": null,
                    "house_number": "5",
                    "postcode": "75007",
                    "road": "Avenue Anatole France",
                    "state": "Ile-de-France"
                  },
                  "bbox": [
                    48.8574753,
                    48.8590453
                  ],
                  "category": "man_made",
                  "display_name": "Eiffel Tower, 5, Avenue Anatole France, Quartier du Gros-Caillou, 7th Arrondissement, Paris, Ile-de-France, Metropolitan France, 75007, France",
                  "importance": 0.621,
                  "lat": 48.8582599,
                  "lon": 2.2945006,
                  "name": "Eiffel Tower",
                  "osm": {
                    "id": 5013364,
                    "type": "way"
                  },
                  "type": "tower"
                }
              ],
              "sources": [
                {
                  "license": "ODbL 1.0",
                  "name": "OpenStreetMap Nominatim",
                  "url": "https://nominatim.org/"
                }
              ]
            },
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "properties": {
                "method": {
                  "enum": [
                    "GET"
                  ],
                  "type": "string"
                },
                "queryParams": {
                  "properties": {
                    "country": {
                      "description": "ISO 3166-1 alpha-2 filter, e.g. dk or us,ca",
                      "type": "string"
                    },
                    "lang": {
                      "description": "result language, default en",
                      "type": "string"
                    },
                    "lat": {
                      "description": "latitude for reverse geocoding (with lon)",
                      "type": "string"
                    },
                    "limit": {
                      "description": "1-5 matches, default 1",
                      "type": "string"
                    },
                    "lon": {
                      "description": "longitude for reverse geocoding (with lat)",
                      "type": "string"
                    },
                    "q": {
                      "description": "address or place name (forward geocoding)",
                      "type": "string"
                    }
                  },
                  "required": [],
                  "type": "object"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "method"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "properties": {
                    "attribution": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "count": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "mode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "query": {
                      "properties": {
                        "country": {},
                        "limit": {
                          "type": [
                            "number",
                            "null"
                          ]
                        },
                        "q": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      },
                      "type": "object"
                    },
                    "results": {
                      "items": {
                        "type": [
                          "object",
                          "null"
                        ]
                      },
                      "type": "array"
                    },
                    "sources": {
                      "items": {
                        "type": [
                          "object",
                          "null"
                        ]
                      },
                      "type": "array"
                    }
                  },
                  "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/v1793252197/bazaar-icons/19906174df41ffa4.png",
    "lastUpdated": "2026-10-31T16:53:33.154Z",
    "quality": {
      "l30DaysTotalCalls": 1,
      "l30DaysUniquePayers": 1,
      "lastCalledAt": "2026-10-31T16:53:33.045Z"
    },
    "resource": "https://freetier-agent-api.pages.dev/api/geocode",
    "serviceName": "Agent Extraction API",
    "tags": [
      "geocoding",
      "reverse-geocoding",
      "address",
      "maps",
      "openstreetmap"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Geocoding with OpenStreetMap Nominatim: address or place name -> coordinates (up to 5 matches, optional country filter), or lat+lon -> structured address (reverse). Structured address fields, country code, bounding box, OSM id. Cached; ODbL attribution included."
}

What the leaf hashes

{"body":"b0cd32ee45816ff4c469b2c6eb94ac3b3eb7d50e3ea4ee03fbbf9f9fe73a16be","id":1791075,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793559940115547,"prev":null,"subject":"x402_bazaar:https://freetier-agent-api.pages.dev/api/geocode","subject_kind":"source_record"}

Proof

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

  1. 0x720ba1568823a9d729be37369eb2b67adcf8b518acd40ea23ea52b31cdfaa7b9
  2. 0xbd456edebbd4885a44ed42c53f1185b761e5e0f1f54957d409d36444d1792714
  3. 0x215c28aed4162c00b52cdd26f98cb11cb6ee4e0456aff551d00d84ac4091f2f6
  4. 0x6234e16f047ccb6a265591693e61c48c5094169b6a44157a703dd81666866aba
  5. 0x24ed85510ca73d7777b55e9bc262b9f711f63ce963aaab004b0d4ba69416a193
  6. 0xc29dba6352679319c42928e56b35c9fa619a7597cb881ab4e65b2d88fa7248ab
  7. 0x4b5c0ebd212ac7d6ad7dc761776300fb644792cc9208cabe93081a3843e5ed5e
  8. 0x468c79333cecf8beeb5e605e19e895d47e4621adb79e396545e84386f6ee92fe
  9. 0x49c5802b04ba7ab738e0d29bde3d4eec597a1aa97d78fd9815ac1c262c17e5c8
  10. 0xcd470bb63cdeacac4f364c20b2a1ec75efd45c717c7b5137ccc97199c6d17f6c
  11. 0x313561a282961e2b8112507bd09bc8f7184c05c34218ecc251d84522f021ec59
  12. 0xd710afe528cc717b80df5908336745104e3532bcf1c997f5f9ad3f036a3bdb2b
  13. 0x215ea80014ee66f3073134eb3329402080a043cc21a0a475647d253d47820da2
  14. 0x3c3408392402b125bd2c2cfb11c655ba3e5ef4f456caee26d4ee38a093e93c53
  15. 0x614dbc600bca0766e288d2a5ebb7709ac565230ac6acdc88a5e4a7a5ff53c58e
  16. 0xe329dbfb0db2c7f35334e66970a8ee37ee2d3356d34d692c10f84b6f7de65a35
  17. 0x0c618c42b286ad61acd8204aa6dcf024b8b041d3759aa585bf4e221abc39cb5d
  18. 0x6142ac48fda269c17791c79da99c2456ac6acfe98268f4d168a404fd6040c703
  19. 0x3315fd2757fdd435852cc277377234a3f3909a6d2a089d0e36f6d59aacfda910
Day root
0x7fa2cba1cf3d6b35630896f5fe1a650adb307ea2c376e80a5f2d9276b7cb5ab3
Chained
0x577ff89ba012beeff3197bcff7fa86752074bdf54205a24359cc437be2a952a4
Published
On Arc Testnet, block 70262758: 0x435bc1b9331471d72e1998f2e420983b5189d4da65ffbd6f27ef40daf5e1ea90

How to check it · This row as JSON