← The evidence ledger
Evidence row 2201882
Observed , by sync.x402_bazaar/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://x402-agent-tools.nerolabs.workers.dev/review-velocity
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 5b418e787c91e86d14911dd9a89fd71ee516b1717803d4199e45c161cc292fe4
- Leaf
- 0x2f1e4e47274b70375fdf820daa9a39fccd9c9d745b63ce42e758245091007cda
What was observed
{
"endpoints": [
[
"x402",
"https://x402-agent-tools.nerolabs.workers.dev/review-velocity"
]
],
"name": "Nero Labs Agent Tools",
"owner_address": "0xa969a3127dcc74b2989a4b4e45ae61b81093164a",
"raw": {
"accepts": [
{
"amount": "8000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 120,
"network": "eip155:8453",
"payTo": "0xA969a3127DcC74B2989a4b4e45Ae61B81093164A",
"scheme": "exact"
}
],
"description": "Scores each business in rows a Google Maps reviews scraper already returned (or your own rows): reviews in the last 90 days vs the 90 before, momentum (growing, slowing, stalled), owner reply rate, unanswered 1 and 2 star reviews, rating trend, tags such as neglected, a lead score 0 to 100 and a one-line pitch. No scraping. $0.004 per business, 100 at most. Not charged if none can be scored.",
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"asOfDate": "2026-11-01",
"rows": [
{
"placeId": "P1",
"publishedAtDate": "2026-10-20",
"responseFromOwnerText": null,
"reviewsCount": 40,
"stars": 1,
"title": "Example Plumbing",
"totalScore": 4.1
},
{
"placeId": "P1",
"publishedAtDate": "2026-09-02",
"responseFromOwnerText": null,
"stars": 5,
"title": "Example Plumbing"
},
{
"placeId": "P1",
"publishedAtDate": "2026-07-15",
"responseFromOwnerText": null,
"stars": 4,
"title": "Example Plumbing"
},
{
"placeId": "P1",
"publishedAtDate": "2026-06-10",
"responseFromOwnerText": null,
"stars": 5,
"title": "Example Plumbing"
},
{
"placeId": "P1",
"publishedAtDate": "2026-05-20",
"responseFromOwnerText": null,
"stars": 2,
"title": "Example Plumbing"
},
{
"placeId": "P1",
"publishedAtDate": "2026-04-28",
"responseFromOwnerText": null,
"stars": 5,
"title": "Example Plumbing"
},
{
"placeId": "P2",
"publishedAtDate": "2026-10-28",
"responseFromOwnerText": "Thank you!",
"reviewsCount": 12,
"stars": 5,
"title": "Example Dental",
"totalScore": 4.8
},
{
"placeId": "P2",
"publishedAtDate": "2026-10-11",
"responseFromOwnerText": "Thank you!",
"stars": 5,
"title": "Example Dental"
},
{
"placeId": "P2",
"publishedAtDate": "2026-09-25",
"responseFromOwnerText": "Thanks!",
"stars": 4,
"title": "Example Dental"
}
]
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"businesses": [
{
"business": "Example Plumbing",
"category": null,
"city": null,
"daysSinceLastReview": 12,
"googleRating": 4.1,
"googleReviewsCount": 40,
"leadScore": 64,
"mapsUrl": null,
"momentum": "steady",
"ownerReplyRate": 0,
"pitch": "Replies to 0 of 6 recent reviews; 2 unanswered 1 or 2 star reviews; 2 reviews in the last 90 days.",
"placeId": "P1",
"rank": 1,
"ratingTrend": "unknown",
"reviewsLastWindow": 2,
"reviewsPerMonth": 0.7,
"reviewsPrevWindow": 3,
"tags": [
"never_replies",
"unanswered_negative",
"neglected"
],
"unansweredNegative": 2,
"velocityChangePct": -33
},
{
"business": "Example Dental",
"category": null,
"city": null,
"daysSinceLastReview": 4,
"googleRating": 4.8,
"googleReviewsCount": 12,
"leadScore": 12,
"mapsUrl": null,
"momentum": "unknown",
"ownerReplyRate": 1,
"pitch": "3 reviews in the last 90 days.",
"placeId": "P2",
"rank": 2,
"ratingTrend": "unknown",
"reviewsLastWindow": 3,
"reviewsPerMonth": 2.4,
"reviewsPrevWindow": null,
"tags": [
"few_reviews"
],
"unansweredNegative": 0,
"velocityChangePct": null
}
],
"summary": {
"asOfDate": "2026-11-01",
"businessesScored": 2,
"reviewsRead": 9,
"rowsIn": 9,
"windowDays": 90
}
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"asOfDate": {
"description": "The date the windows count back from (e.g. 2026-11-01). Default: the newest scrapedAt in the rows, else today.",
"type": "string"
},
"rows": {
"description": "Rows straight from a Google Maps reviews scraper (compass/google-maps-reviews-scraper and look-alikes), place rows from compass/crawler-google-places with a reviews array, or your own rows with title (or placeId), publishedAtDate, stars and responseFromOwnerText. 3000 rows and 100 businesses at most.",
"items": {
"type": "object"
},
"type": "array"
},
"windowDays": {
"description": "Reviews in the last N days are compared with the N days before. Default 90.",
"maximum": 365,
"minimum": 7,
"type": "number"
}
},
"required": [
"rows"
],
"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": {
"businesses": {
"items": {
"properties": {
"business": {
"type": "string"
},
"category": {},
"city": {},
"daysSinceLastReview": {
"type": "number"
},
"googleRating": {
"type": "number"
},
"googleReviewsCount": {
"type": "number"
},
"leadScore": {
"type": "number"
},
"mapsUrl": {},
"momentum": {
"type": "string"
},
"ownerReplyRate": {
"type": "number"
},
"pitch": {
"type": "string"
},
"placeId": {
"type": "string"
},
"rank": {
"type": "number"
},
"ratingTrend": {
"type": "string"
},
"reviewsLastWindow": {
"type": "number"
},
"reviewsPerMonth": {
"type": "number"
},
"reviewsPrevWindow": {},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"unansweredNegative": {
"type": "number"
},
"velocityChangePct": {}
},
"type": "object"
},
"type": "array"
},
"summary": {
"properties": {
"asOfDate": {
"type": "string"
},
"businessesScored": {
"type": "number"
},
"reviewsRead": {
"type": "number"
},
"rowsIn": {
"type": "number"
},
"windowDays": {
"type": "number"
}
},
"type": "object"
}
},
"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/v1792616069/bazaar-icons/0a5b056fde952fc0.png",
"lastUpdated": "2026-11-01T22:58:47.752Z",
"quality": {
"l30DaysTotalCalls": 1,
"l30DaysUniquePayers": 1,
"lastCalledAt": "2026-11-01T22:58:46.926Z"
},
"resource": "https://x402-agent-tools.nerolabs.workers.dev/review-velocity",
"serviceName": "Nero Labs Agent Tools",
"tags": [
"google maps",
"google reviews",
"review velocity",
"local leads",
"reputation"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "Scores each business in rows a Google Maps reviews scraper already returned (or your own rows): reviews in the last 90 days vs the 90 before, momentum (growing, slowing, stalled), owner reply rate, unanswered 1 and 2 star reviews, rating trend, tags such as neglected, a lead score 0 to 100 and a one-line pitch. No scraping. $0.004 per business, 100 at most. Not charged if none can be scored."
}What the leaf hashes
{"body":"5b418e787c91e86d14911dd9a89fd71ee516b1717803d4199e45c161cc292fe4","id":2201882,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793646810021879,"prev":null,"subject":"x402_bazaar:https://x402-agent-tools.nerolabs.workers.dev/review-velocity","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).
- 0x2f1e696596c6854ec4f62643c5d4d5d7c65ea8362013311e7d247b2528a71579
- 0xea7038d79c755c0a55bb91fbce7431c72db3d90f4e5ca4737b038cb05d4331a1
- 0x7016831023500ed2ee174cfe2f92ef299db9b7275c0f793d75ac9c16c8dc572b
- 0x76acb8f5974ea188b1795732ca380b5ac4265d18c8f689972102408a464a5993
- 0xbe58aed0bdbeb9085a66b2ee993cd9d5896d8cb3c7a5fa609b134fae18b9e351
- 0x0351bd4aba2a1e6595498b7f0f2bbe130b1d5eb03691fe3e5a4373e64334f5c2
- 0x10ceaf80238f616ceb711ae424d360096d0a157b6a95833518752e2e6c083109
- 0x1ebf1b03fc6aa3307a3169ae50d096e81285dd2b38b3f55b6eddad24a0ebb036
- 0xbb93eaea4465e124f20ff56701d9b9e4b4f8032f0d1af7f075b0d1550a15735b
- 0x6fa297047114ca89fd5943c1bd682ddfae4e28cb8fd18c26b47fc1ee1a920449
- 0x4ea697865e2916c5b16d551fb7b9e33570351dabb1e44f53ddc037de1224d479
- 0xd02b59f5289a7e4f418fa177885dbe768742fd98e5bf0532eaadff55a79c5864
- 0xe0a95aa0d153f7a034b0dbeb91c5460c64c47c22ac037e0e8cfa69f4ff734b69
- 0x74cae95d275254a9c747b603bd40b5086c5725fd3e904782e6447e4647e8b049
- 0x464ce6fe060d0a6c4e810b71501e55084086148f7daf393caa14462b1a777022
- 0xd42916b5c6441e9c8d91ff91715af1489cb83dee26d47e7da107caa4d2a68b65
- 0xa20b9be86af7d690e040c9060a373b2fc5498edf3432f43c26f74fa2febc1e9a
- 0x050f2978b537f7afb21ee1551577cdf146d1c56f4df12d24315ae5e69366b0a4
- 0x365b161a4b68d750dcc4b3ecce1154a2163c87b08762079428e68f0ebb6a754e
- Day root
- 0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
- Chained
- 0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
- Published
- On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af