← The evidence ledger
Evidence row 122252
Observed , by baseline/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://tanod.dev/v1/docs/xlsx-to-json
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- c884ce7cfd91e4d6778de2752387c83f1f0929489cf1deb3146b95735a165ff3
- Leaf
- 0xd22865626e34e2826b09fb5566c0c8caaabd588eeccfc5fe68f3e65f02ea3970
What was observed
{
"endpoints": [
[
"x402",
"https://tanod.dev/v1/docs/xlsx-to-json"
]
],
"name": "Tanod pdfpeek",
"owner_address": "0x593857a4a4f619543ea12394137c3004ce841720",
"raw": {
"accepts": [
{
"amount": "5000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:8453",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
},
{
"amount": "5000",
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:137",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
}
],
"description": "pdfpeek (Tanod) Excel to JSON/CSV: an .xlsx/.xlsm workbook read into sheets of string rows as JSON, or one formula-guarded CSV file per sheet. Use when an agent must read an Excel (.xlsx) workbook into JSON rows or formula-guarded CSV.",
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"url": "https://tanod.dev/samples/sales-sample.xlsx"
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"format": "json",
"input_bytes": 5425,
"note": "Cells are strings exactly as the workbook stores them; a formula cell is the value last computed by a spreadsheet application (empty if the file was never opened in one). Trailing empty cells and rows are dropped. CSV output is one file per sheet, UTF-8 with CRLF, and a cell that could be read as a formula is prefixed with an apostrophe (OWASP) so a spreadsheet cannot run it.",
"operation": "xlsx-to-json",
"sheet_count": 2,
"sheets": [
{
"columns": 4,
"name": "Sales",
"row_count": 3,
"rows": [
[
"region",
"q1",
"q2",
"total"
],
[
"North",
"1204",
"1311",
"2515"
],
[
"South",
"980",
"1015",
"1995"
]
],
"truncated": false
},
{
"columns": 2,
"name": "Notes",
"row_count": 1,
"rows": [
[
"prepared",
"2026-10-09"
]
],
"truncated": false
}
],
"sheets_read": 2,
"untrusted_content": true
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"file_base64": {
"anyOf": [
{
"maxLength": 13398872,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The workbook as base64 (at most 10 MB decoded; .xlsx or .xlsm); or use url."
},
"format": {
"default": "json",
"description": "json (default: each sheet with its name and rows, cells as strings) or csv (one formula-safe CSV file per sheet).",
"enum": [
"json",
"csv"
],
"type": "string"
},
"url": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Public http(s) URL of the workbook (at most 20 MB; private, internal and IP-literal hosts are refused); or use file_base64."
}
},
"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": {
"file": {
"properties": {
"bytes": {
"type": "integer"
},
"content_type": {
"type": "string"
},
"data_base64": {
"type": "string"
},
"dpi": {
"type": "integer"
},
"first_page": {
"type": "integer"
},
"height": {
"type": "integer"
},
"last_page": {
"type": "integer"
},
"name": {
"type": "string"
},
"page": {
"type": "integer"
},
"pages": {
"type": "integer"
},
"width": {
"type": "integer"
}
},
"required": [
"name",
"content_type",
"bytes",
"data_base64"
],
"type": "object"
},
"file_count": {
"type": "integer"
},
"files": {
"items": {
"properties": {
"bytes": {
"type": "integer"
},
"content_type": {
"type": "string"
},
"data_base64": {
"type": "string"
},
"dpi": {
"type": "integer"
},
"first_page": {
"type": "integer"
},
"height": {
"type": "integer"
},
"last_page": {
"type": "integer"
},
"name": {
"type": "string"
},
"page": {
"type": "integer"
},
"pages": {
"type": "integer"
},
"width": {
"type": "integer"
}
},
"required": [
"name",
"content_type",
"bytes",
"data_base64"
],
"type": "object"
},
"type": "array"
},
"format": {
"enum": [
"json",
"csv"
],
"type": "string"
},
"input_bytes": {
"type": "integer"
},
"note": {
"type": "string"
},
"operation": {
"type": "string"
},
"output_bytes": {
"type": "integer"
},
"sheet_count": {
"type": "integer"
},
"sheets": {
"items": {
"properties": {
"columns": {
"type": "integer"
},
"name": {
"type": "string"
},
"row_count": {
"type": "integer"
},
"rows": {
"items": {
"items": {
"type": "string"
},
"type": "array"
},
"type": "array"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"name",
"columns",
"row_count",
"truncated"
],
"type": "object"
},
"type": "array"
},
"sheets_read": {
"type": "integer"
},
"untrusted_content": {
"type": "boolean"
}
},
"required": [
"operation",
"input_bytes",
"format",
"sheet_count",
"sheets_read",
"sheets",
"untrusted_content"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
},
"builder-code": {
"info": {
"a": "bc_h7pxv14u"
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"a": {
"description": "App builder code",
"pattern": "^[a-z0-9_]{1,32}$",
"type": "string"
},
"s": {
"description": "Service builder codes",
"items": {
"pattern": "^[a-z0-9_]{1,32}$",
"type": "string"
},
"maxItems": 11,
"type": "array"
},
"w": {
"description": "Wallet builder code",
"pattern": "^[a-z0-9_]{1,32}$",
"type": "string"
}
},
"type": "object"
}
}
},
"iconUrl": "https://res.cloudinary.com/bdb-prod/image/upload/c_fill,ar_1:1,w_256,h_256,f_auto,q_auto/v1791364949/bazaar-icons/d8143c9bc952f5cd.png",
"lastUpdated": "2026-10-09T20:13:21.646Z",
"quality": {
"l30DaysTotalCalls": 2,
"l30DaysUniquePayers": 2,
"lastCalledAt": "2026-10-09T20:13:20.472Z"
},
"resource": "https://tanod.dev/v1/docs/xlsx-to-json",
"serviceName": "Tanod pdfpeek",
"tags": [
"pdfpeek",
"docs",
"xlsx",
"to",
"json"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "pdfpeek (Tanod) Excel to JSON/CSV: an .xlsx/.xlsm workbook read into sheets of string rows as JSON, or one formula-guarded CSV file per sheet. Use when an agent must read an Excel (.xlsx) workbook into JSON rows or formula-guarded CSV."
}What the leaf hashes
{"body":"c884ce7cfd91e4d6778de2752387c83f1f0929489cf1deb3146b95735a165ff3","id":122252,"kind":"listing","method":"baseline/1","observed_us":1793025621323641,"prev":null,"subject":"x402_bazaar:https://tanod.dev/v1/docs/xlsx-to-json","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).
- 0xd2282d5744811a63e2c6a36d311d28f263ae0d2314556d405b7af06adb555c86
- 0x3807da59705923ad428c9e6814d2389279b87bf461c2b416f229ffad11ef2221
- 0x020d977de824afa4b83fc3ffec612bda929d9d97d89f9a69a979a041abae1213
- 0xf545cc60f0d1cf72a9b202e054782241c2b25ecc62b26a543df5298c7e03e77e
- 0x021c223188bce2f6bcf213f487c3ea6363a9f5d2ec4c2bdd407e89d85ebbc2f0
- 0x944eeeb04ecb39d9211fc18ac3938a7e3ae49dba838642395fd53266bb8dbadc
- 0xca151dba487a77b55639f653fc5706035cd2d7ce12e76a81d083b975444ef779
- 0xaca5ca0e558fa208c73eb37face5cf89c44b7b41952c86b27fecf46518859ccb
- 0xf1fec04f9c52056b3aa832c7b83e56bdff5c7ce1446629462236e05c80d0574a
- 0x577d60d25feb12bd9b6b9f6b196c0f14aafc3b6efbb07d43169be409edfb700f
- 0xf2fdee89378769052782dfd25aeff4865ec268617aa70e6d5f36f0b04808af0c
- 0xa4ec009cd8db00b48fa2e4df84088950b4d34c37254de09f5e3789441c0c5e73
- 0x889eefefef2d4457fe6114f397df813a5cbb85011a6f40309b54ddcd4aba3bd1
- 0xefabf1105e09cf52c12c58e60cbb5048b9ac3f02631d1816a926e14bdd86fbdf
- 0xe94ca5b798e9899ad611e57835af42266e20f53f44977e487d81365e30972beb
- 0x703f95866af09c5e5d6ead7411e9a10f964a41a2aff64d4a55ff0053c023a023
- 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae