← The evidence ledger
Evidence row 124882
Observed , by baseline/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://x402-agent-tools.nerolabs.workers.dev/data/diff
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- b36e4bb5b1475592a501eb3d71b0dbaf0bd29e412669f523cf51f57b118f4803
- Leaf
- 0x577044965a50f455c9d8d0c5fedfb86fc197fc4e8d734e68efa093a4549fc9f5
What was observed
{
"endpoints": [
[
"x402",
"https://x402-agent-tools.nerolabs.workers.dev/data/diff"
]
],
"name": "Nero Labs Agent Tools",
"owner_address": "0xa969a3127dcc74b2989a4b4e45ae61b81093164a",
"raw": {
"accepts": [
{
"amount": "2000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 120,
"network": "eip155:8453",
"payTo": "0xA969a3127DcC74B2989a4b4e45Ae61B81093164A",
"scheme": "exact"
}
],
"description": "Compares an old and a new list of JSON rows by a key field and returns what was added, removed and changed, with the old and new value of every changed field. Use it to spot new leads, price changes or deleted items between two scrapes. Up to 500 rows a side. $0.001 per new row sent (old rows free), $0.002 minimum. Same engine as nerolabs/dataset-diff-detector.",
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"keyFields": [
"sku"
],
"newRows": [
{
"price": 12,
"sku": "A1"
},
{
"price": 5,
"sku": "C3"
}
],
"oldRows": [
{
"price": 10,
"sku": "A1"
},
{
"price": 20,
"sku": "B2"
}
]
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"_example_note": "Real output, trimmed: long lists cut to their first items and long text shortened.",
"rows": [
{
"key": {
"sku": "B2"
},
"oldValues": {
"price": 20,
"sku": "B2"
},
"status": "removed"
},
{
"changedFields": [
"price"
],
"key": {
"sku": "A1"
},
"newValues": {
"price": 12,
"sku": "A1"
},
"oldValues": {
"price": 10,
"sku": "A1"
},
"status": "changed"
},
{
"key": {
"sku": "C3"
},
"newValues": {
"price": 5,
"sku": "C3"
},
"status": "added"
}
],
"summary": {
"counts": {
"added": 1,
"changed": 1,
"removed": 1,
"unchanged": 0
},
"differenceCount": 3,
"duplicateRowsSkipped": {
"new": 0,
"old": 0
},
"keyFieldsUsed": [
"sku"
],
"newRecordCount": 2,
"oldRecordCount": 2,
"returnedRowCount": 3,
"rowsMissingKeyFields": {
"new": 0,
"old": 0
},
"unchangedRowsIncluded": false,
"warnings": []
}
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"compareFields": {
"description": "Optional. Only these fields decide whether a matched row changed. Default: every field on either row.",
"items": {
"type": "string"
},
"type": "array"
},
"ignoreFields": {
"description": "Optional. Fields never compared, for example [\"scrapedAt\",\"lastChecked\"], so a timestamp alone does not mark a row changed.",
"items": {
"type": "string"
},
"type": "array"
},
"includeUnchanged": {
"description": "Optional, default false. Set true to also return matched rows with no difference (status \"unchanged\"). They are always counted in the summary.",
"type": "boolean"
},
"keyFields": {
"description": "Field name(s) that uniquely identify a row on both sides, for example [\"sku\"] or [\"country\",\"sku\"]. Strongly recommended: without it a changed row is reported as one removed row plus one added row.",
"items": {
"type": "string"
},
"type": "array"
},
"newRows": {
"description": "The after snapshot: a JSON array of row objects, the same kind of rows as oldRows. At least one row.",
"items": {
"type": "object"
},
"type": "array"
},
"oldRows": {
"description": "The before snapshot: a JSON array of row objects. At least one row. Keys may differ between rows.",
"items": {
"type": "object"
},
"type": "array"
}
},
"required": [
"oldRows",
"newRows"
],
"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": {
"_example_note": {
"type": "string"
},
"rows": {
"items": {
"properties": {
"changedFields": {
"type": "array"
},
"key": {
"type": "object"
},
"newValues": {
"type": "object"
},
"oldValues": {
"type": "object"
},
"status": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"summary": {
"properties": {
"counts": {
"properties": {
"added": {
"type": "number"
},
"changed": {
"type": "number"
},
"removed": {
"type": "number"
},
"unchanged": {
"type": "number"
}
},
"type": "object"
},
"differenceCount": {
"type": "number"
},
"duplicateRowsSkipped": {
"properties": {
"new": {
"type": "number"
},
"old": {
"type": "number"
}
},
"type": "object"
},
"keyFieldsUsed": {
"items": {
"type": "string"
},
"type": "array"
},
"newRecordCount": {
"type": "number"
},
"oldRecordCount": {
"type": "number"
},
"returnedRowCount": {
"type": "number"
},
"rowsMissingKeyFields": {
"properties": {
"new": {
"type": "number"
},
"old": {
"type": "number"
}
},
"type": "object"
},
"unchangedRowsIncluded": {
"type": "boolean"
},
"warnings": {
"type": "array"
}
},
"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-10-25T13:33:41.364Z",
"quality": {
"l30DaysTotalCalls": 3,
"l30DaysUniquePayers": 2,
"lastCalledAt": "2026-10-25T13:33:40.543Z"
},
"resource": "https://x402-agent-tools.nerolabs.workers.dev/data/diff",
"serviceName": "Nero Labs Agent Tools",
"tags": [
"data",
"diff",
"compare",
"changes",
"monitoring"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "Compares an old and a new list of JSON rows by a key field and returns what was added, removed and changed, with the old and new value of every changed field. Use it to spot new leads, price changes or deleted items between two scrapes. Up to 500 rows a side. $0.001 per new row sent (old rows free), $0.002 minimum. Same engine as nerolabs/dataset-diff-detector."
}What the leaf hashes
{"body":"b36e4bb5b1475592a501eb3d71b0dbaf0bd29e412669f523cf51f57b118f4803","id":124882,"kind":"listing","method":"baseline/1","observed_us":1793025625391275,"prev":null,"subject":"x402_bazaar:https://x402-agent-tools.nerolabs.workers.dev/data/diff","subject_kind":"source_record"}Proof
Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.