← The evidence ledger
Evidence row 18223
Observed , by sync.x402_bazaar/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://x402-agent-tools.nerolabs.workers.dev/pdf-extract
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 6f8ce8a1830abd7f581e2a12aff866c6c2565a43926d2524a09047d0f9fd7248
- Leaf
- 0x645418c9a316186bbd8d9441cd22da15231c79b5e9faa525512d635c9954e6b6
What was observed
{
"endpoints": [
[
"x402",
"https://x402-agent-tools.nerolabs.workers.dev/pdf-extract"
]
],
"name": "Nero Labs Agent Tools",
"owner_address": "0xa969a3127dcc74b2989a4b4e45ae61b81093164a",
"raw": {
"accepts": [
{
"amount": "10000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:8453",
"payTo": "0xA969a3127DcC74B2989a4b4e45Ae61B81093164A",
"scheme": "exact"
}
],
"description": "Extracts the text (plain or Markdown) and tables from up to 10 PDF links, with page count, title, author and dates, and flags PDFs that are scans with no text layer (use /ocr for those). Choose a page range and a length limit. $0.01 per PDF. Runs nerolabs/dataset-pdf-extract.",
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"lastPage": 1,
"maxCharsPerPdf": 2000,
"pdfUrls": [
"https://www.irs.gov/pub/irs-pdf/fw9.pdf"
]
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"_example_note": "Real output, trimmed: long lists cut to their first items, fields and text shortened.",
"count": 1,
"rows": [
{
"charCount": 5659,
"extractStatus": "ok",
"fileSizeKb": 138,
"hasTextLayer": true,
"ocrRequired": false,
"pageCount": 6,
"pdfAuthor": "SE:W:CAR:MP",
"pdfTitle": "Form W-9 (Rev. March 2024)",
"pdfUrl": "https://www.irs.gov/pub/irs-pdf/fw9.pdf",
"resolvedUrl": "https://www.irs.gov/pub/irs-pdf/fw9.pdf",
"statusDetail": null,
"tableCount": 3,
"textTruncated": true,
"wordCount": 933
}
]
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"extractTables": {
"default": true,
"description": "Reconstruct tables from the position of the text on the page and return them as rows of cells. Plain text extraction loses table structure completely, so this is where most of the value is for invoices, statements and reports.",
"type": "boolean"
},
"firstPage": {
"description": "Start reading at this page (1 is the first). Leave empty to read from the beginning.",
"minimum": 1,
"type": "integer"
},
"includePageText": {
"default": false,
"description": "Add a 'pages' array with each page's text separately, on top of the combined text. Useful for citing a page number, and it makes rows considerably larger.",
"type": "boolean"
},
"lastPage": {
"description": "Stop reading after this page. Leave empty to read to the end. Handy for taking only the first few pages of long reports.",
"minimum": 1,
"type": "integer"
},
"maxCharsPerPdf": {
"default": 200000,
"description": "Cuts the returned text at this many characters so one very long document cannot produce an unusable dataset row. The row records whether it was cut.",
"maximum": 2000000,
"minimum": 500,
"type": "integer"
},
"minTableRows": {
"default": 3,
"description": "Minimum rows before a grid counts as a table. The default of 3 is a deliberate noise floor, because printed forms are built from aligned two-line boxes and report dozens of meaningless two-row 'tables'. Lower it to 2 for invoices whose line items are one header plus one row.",
"maximum": 50,
"minimum": 2,
"type": "integer"
},
"pdfUrls": {
"description": "A plain list of PDF links, for a quick one-off run with no spreadsheet. Use the dataset, file or Google Sheet inputs above to keep your own columns alongside the results.",
"type": "array"
},
"textFormat": {
"default": "plain",
"description": "'Plain text' returns the reading-order text. 'Markdown' appends any detected tables as Markdown tables after the text, which is the friendliest shape for feeding an LLM. 'None' skips the text entirely, for runs that only want page counts, metadata or tables.",
"enum": [
"plain",
"markdown",
"none"
],
"type": "string"
}
},
"required": [
"pdfUrls"
],
"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"
},
"count": {
"type": "number"
},
"rows": {
"items": {
"properties": {
"charCount": {
"type": "number"
},
"extractStatus": {
"type": "string"
},
"extractedAt": {
"type": "string"
},
"fileSizeKb": {
"type": "number"
},
"hasTextLayer": {
"type": "boolean"
},
"ocrRequired": {
"type": "boolean"
},
"pageCount": {
"type": "number"
},
"pdfAuthor": {
"type": "string"
},
"pdfCreatedOn": {
"type": "string"
},
"pdfCreator": {
"type": "string"
},
"pdfModifiedOn": {
"type": "string"
},
"pdfProducer": {
"type": "string"
},
"pdfSubject": {
"type": "string"
},
"pdfTitle": {
"type": "string"
},
"pdfUrl": {
"type": "string"
},
"resolvedUrl": {
"type": "string"
},
"statusDetail": {},
"tableCount": {
"type": "number"
},
"tables": {
"type": "array"
},
"text": {
"type": "string"
},
"textTruncated": {
"type": "boolean"
},
"wordCount": {
"type": "number"
}
},
"type": "object"
},
"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/v1792616069/bazaar-icons/0a5b056fde952fc0.png",
"lastUpdated": "2026-10-26T07:01:45.572Z",
"quality": {
"l30DaysTotalCalls": 4,
"l30DaysUniquePayers": 2,
"lastCalledAt": "2026-10-26T07:01:45.44Z"
},
"resource": "https://x402-agent-tools.nerolabs.workers.dev/pdf-extract",
"serviceName": "Nero Labs Agent Tools",
"tags": [
"pdf",
"extract",
"tables",
"documents",
"text"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "Extracts the text (plain or Markdown) and tables from up to 10 PDF links, with page count, title, author and dates, and flags PDFs that are scans with no text layer (use /ocr for those). Choose a page range and a length limit. $0.01 per PDF. Runs nerolabs/dataset-pdf-extract."
}What the leaf hashes
{"body":"6f8ce8a1830abd7f581e2a12aff866c6c2565a43926d2524a09047d0f9fd7248","id":18223,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793025328764128,"prev":null,"subject":"x402_bazaar:https://x402-agent-tools.nerolabs.workers.dev/pdf-extract","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).
- 0x6453dee048ef462ee82887a3559c5a33e30240172e0f45ae20398c4fe29eb045
- 0x5b23001bdb0c1c817b2554cfd5a7539bd2eb462461b8cc599c8cf8354e670ea5
- 0x0d0901b5b3c9fc1b82577b711905ffa9abb08b1644ea7155fd448149fec5f609
- 0x46d179dd72fca936e64cc2e322f02a8796247f9c031da5f0f95ea4a56ac3736b
- 0x34c38e2f823c9b4eaaaa813937067989222e496adaa97d89f812469f4b2136a3
- 0xef631eabe39f6ff4c85bf2bb1335dcefd65186c2e2977150f053106a897b2271
- 0xa682960bc4d0e24fd13ab7e4172cc9dd4d12219bca97d6221258ab433029a409
- 0x4270a1961d175fff5cffcd598b9d0ec0f9797c4c35c8adecff9c6b7e9c4563f8
- 0x3ac872b3981cf5b2f69cac4ebd22e0d8fb1dd4c554a070a859748af1b9f407ca
- 0x7dd6ecfa9185a17104569489cbef33034bbe40fda02f46c4806f2506cfdf5d24
- 0x4008ba50886e166082b39cf7d2aabf1793fbc0c9ee377f5c8c84131ff6d65579
- 0x3c8355143bb13802401d5a80f8a70809a59f429bc298f4912731fc8d207e4f43
- 0x13f4b94ecf613d585c952b5363dad2b247a55371eb8e358bb89dc033e83128b1
- 0x9a79c65e077cd9da9d436b3ade6f5ddc0d244510c4d5903ef2f02d81205f7666
- 0xa2d436d488e3600b0e5c3e3ed9c9234cd52853c59830b786334fd0c4292d9f40
- 0x47b89901b0f07938a6b9a66ddf35683903f79d756a7c7763665fd632758b08d0
- 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
- 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae