addrbookFor publishers
← The evidence ledger

Evidence row 124880

Observed , by baseline/1.

Kind
listing
About
source_record x402_bazaar:https://x402-agent-tools.nerolabs.workers.dev/data/aggregate
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
88dac964bddc7d8758901e42caf569ac945dc8d188654787834adb28a3242218
Leaf
0xf341efe350548fcf3039782c203d42dd000b06ae528baa400d50643db8b4344d

What was observed

{
  "endpoints": [
    [
      "x402",
      "https://x402-agent-tools.nerolabs.workers.dev/data/aggregate"
    ]
  ],
  "name": "Nero Labs Agent Tools",
  "owner_address": "0xa969a3127dcc74b2989a4b4e45ae61b81093164a",
  "raw": {
    "accepts": [
      {
        "amount": "3000",
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "maxTimeoutSeconds": 120,
        "network": "eip155:8453",
        "payTo": "0xA969a3127DcC74B2989a4b4e45Ae61B81093164A",
        "scheme": "exact"
      }
    ],
    "description": "Groups up to 500 JSON rows and works out totals per group: count, sum, average, min, max, median, distinct count, first and last, with date buckets (day, week, month, quarter, year), a pivot table, sorting, top N and a totals row. Returns one row per group plus a summary. $0.001 per row sent, $0.002 minimum. Same engine as nerolabs/dataset-aggregate-pivot.",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "body": {
              "aggregations": [
                {
                  "field": "sales",
                  "function": "sum"
                },
                {
                  "function": "count"
                }
              ],
              "groupByFields": [
                "region"
              ],
              "rows": [
                {
                  "region": "North",
                  "sales": 120
                },
                {
                  "region": "South",
                  "sales": 80
                },
                {
                  "region": "North",
                  "sales": 60
                }
              ]
            },
            "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": [
                {
                  "count": 2,
                  "region": "North",
                  "sum_sales": 180
                },
                {
                  "count": 1,
                  "region": "South",
                  "sum_sales": 80
                }
              ],
              "summary": {
                "aggregations": [
                  {
                    "alias": "sum_sales",
                    "field": "sales",
                    "function": "sum"
                  },
                  {
                    "alias": "count",
                    "function": "count"
                  }
                ],
                "columns": [
                  "region",
                  "sum_sales",
                  "count"
                ],
                "droppedByTopN": 0,
                "groupByFields": [
                  "region"
                ],
                "groupCount": 2,
                "inputRowCount": 3,
                "outputRowCount": 2,
                "pivot": null,
                "skippedValues": {},
                "totalsRowIncluded": false,
                "warnings": []
              }
            },
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "body": {
                  "additionalProperties": false,
                  "properties": {
                    "aggregations": {
                      "description": "What to compute per group, for example [{\"function\":\"count\",\"alias\":\"orders\"}, {\"field\":\"amount\",\"function\":\"sum\",\"alias\":\"total_amount\"}]. Every function except count needs a field. alias is the output column name (defaults to function_field, or \"count\"). Omitted gives a plain row count per group. Up to 20.",
                      "items": {
                        "properties": {
                          "alias": {
                            "description": "Output column name.",
                            "type": "string"
                          },
                          "field": {
                            "description": "The field to aggregate. Optional for count, which then counts rows.",
                            "type": "string"
                          },
                          "function": {
                            "enum": [
                              "count",
                              "countDistinct",
                              "sum",
                              "avg",
                              "min",
                              "max",
                              "median",
                              "first",
                              "last",
                              "list",
                              "listDistinct"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "function"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "dateBucketField": {
                      "description": "A date or timestamp field to group by time period, for example \"orderedAt\". Adds a group column named like \"orderedAt_month\". Unreadable dates land in an \"(invalid date)\" group.",
                      "type": "string"
                    },
                    "dateBucketGranularity": {
                      "description": "Bucket size for dateBucketField: day (2026-08-19), week (2026-W34), month (2026-08, default), quarter (2026-Q3) or year.",
                      "enum": [
                        "day",
                        "week",
                        "month",
                        "quarter",
                        "year"
                      ],
                      "type": "string"
                    },
                    "groupByFields": {
                      "description": "One output row per distinct combination of these field values, like SQL GROUP BY, for example [\"region\"] or [\"city\", \"category\"]. Dot paths like \"address.city\" work. Empty or omitted aggregates every row into a single row.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "groupMatching": {
                      "description": "normalized (default) ignores letter case and extra whitespace when grouping, so \"South\" and \"south \" are one group. exact requires identical values.",
                      "enum": [
                        "normalized",
                        "exact"
                      ],
                      "type": "string"
                    },
                    "includeTotalsRow": {
                      "description": "Appends a grand-total row labelled \"(total)\" and adds a _rowType column (\"group\" or \"total\").",
                      "type": "boolean"
                    },
                    "lenientNumbers": {
                      "description": "On by default: \"$1,234.50\", \"49 USD\", \"12%\" and \"(300)\" count as numbers for sum, avg, min, max and median. Set false to accept only real numbers and plain numeric strings.",
                      "type": "boolean"
                    },
                    "pivotField": {
                      "description": "Turns this field's distinct values into columns, pivot-table style: group by \"region\" and pivot on \"product\" for one row per region with a column per product. Must not also be a group-by field. At most 50 distinct values.",
                      "type": "string"
                    },
                    "pivotFunction": {
                      "description": "How pivot cell values are combined. Defaults to sum when pivotValueField is set; ignored (row count) without one.",
                      "enum": [
                        "count",
                        "countDistinct",
                        "sum",
                        "avg",
                        "min",
                        "max",
                        "median",
                        "first",
                        "last",
                        "list",
                        "listDistinct"
                      ],
                      "type": "string"
                    },
                    "pivotValueField": {
                      "description": "The field whose values fill the pivot cells, for example \"amount\". Omitted fills each cell with a row count.",
                      "type": "string"
                    },
                    "rows": {
                      "description": "The records to aggregate, up to 500. Each row is a JSON object; keys may differ between rows.",
                      "items": {
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "sortBy": {
                      "description": "An output column to sort by: a group field, an aggregation alias such as \"total_amount\", or a pivot column. Omitted sorts by the group fields.",
                      "type": "string"
                    },
                    "sortDirection": {
                      "description": "asc (default) or desc. Use desc with topN for \"top N by\" questions.",
                      "enum": [
                        "asc",
                        "desc"
                      ],
                      "type": "string"
                    },
                    "topN": {
                      "description": "After sorting, keep only the first N groups. The totals row still covers every input row.",
                      "minimum": 1,
                      "type": "integer"
                    }
                  },
                  "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": {
                    "_example_note": {
                      "type": "string"
                    },
                    "rows": {
                      "items": {
                        "properties": {
                          "count": {
                            "type": "number"
                          },
                          "region": {
                            "type": "string"
                          },
                          "sum_sales": {
                            "type": "number"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "summary": {
                      "properties": {
                        "aggregations": {
                          "items": {
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "columns": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "droppedByTopN": {
                          "type": "number"
                        },
                        "groupByFields": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "groupCount": {
                          "type": "number"
                        },
                        "inputRowCount": {
                          "type": "number"
                        },
                        "outputRowCount": {
                          "type": "number"
                        },
                        "pivot": {},
                        "skippedValues": {
                          "properties": {},
                          "type": "object"
                        },
                        "totalsRowIncluded": {
                          "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-21T21:25:20.124Z",
    "quality": {
      "l30DaysTotalCalls": 3,
      "l30DaysUniquePayers": 2,
      "lastCalledAt": "2026-10-21T21:25:19.965Z"
    },
    "resource": "https://x402-agent-tools.nerolabs.workers.dev/data/aggregate",
    "serviceName": "Nero Labs Agent Tools",
    "tags": [
      "data",
      "aggregate",
      "group by",
      "pivot",
      "analytics"
    ],
    "type": "http",
    "x402Version": 2
  },
  "source": "x402_bazaar",
  "summary": "Groups up to 500 JSON rows and works out totals per group: count, sum, average, min, max, median, distinct count, first and last, with date buckets (day, week, month, quarter, year), a pivot table, sorting, top N and a totals row. Returns one row per group plus a summary. $0.001 per row sent, $0.002 minimum. Same engine as nerolabs/dataset-aggregate-pivot."
}

What the leaf hashes

{"body":"88dac964bddc7d8758901e42caf569ac945dc8d188654787834adb28a3242218","id":124880,"kind":"listing","method":"baseline/1","observed_us":1793025625386914,"prev":null,"subject":"x402_bazaar:https://x402-agent-tools.nerolabs.workers.dev/data/aggregate","subject_kind":"source_record"}

Proof

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

  1. 0xf341c95faf298cae5939c035d4909a861724dbfaa30168ae331abada67cde07e
  2. 0x17d9d8f4ffffb503b25a663cb51ace350a8c3ead3a2377ef7b8fc5515e0b8322
  3. 0x1c7b98f7412150518035853b24d15584d06d869291f8d5c0bc75928f59f29c83
  4. 0xa9f95edc8578d01fe7f092bd2093cd11232282c9dcfe0411e1877673c605f54a
  5. 0x3b79dd3c7c2843b011b01174e22b7104cc03f7853e12c245e3493048b05ca91b
  6. 0xb23317aafa1bd33475d7caa214333619ada93c47d990ccd575e88e4b3f6dc797
  7. 0x77dd0ef1422257b63a13d93dcb51538a6ae85c3ca580c026c8f3e3dbb0663dd6
  8. 0x3d20c550e579768190c2211182be64075d3234962b6a6048c723b4fe509d241a
  9. 0x488da1831238d58942e96bb67705d58874d3df058d0910bd6904259ce950417a
  10. 0x99d8731791d25cbf46b06609ddccbc89c11d0e501cf96838a0656d4362666008
  11. 0xc50899a255d8f2b1b1fc55129b98f94521e73c5252d7c947abcfcdde2955260c
  12. 0x3e439c99553dde4ddc1a9189bc043fa92a4b6b41e39e7e6b21c10148f9558a78
  13. 0xa26f0437cba4d7d64f1cf98bf4f490e1ebb6f66a5e2331537b7ba8b3061084e0
  14. 0xd769d41500075835c3b2f9184d223699fb983fd05c29fbcb44d964abc7ee380d
  15. 0x68d296b1e00b4899fb83c3fba36fffaefa311eac2903067dbebfe776a12b4a9a
  16. 0x5fb5dda563336cd1bc1b9f44c52b76237ae72ed2145cb9290f39f304ca7dd678
  17. 0x74a0a08e4e7ab9aa5bfbead33dec7e1c7e8e364cff69a63720d764bbe987aadc
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON