← The evidence ledger
Evidence row 2249966
Observed , by sync.x402_bazaar/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://tanod.dev/v1/text/llm-extract
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- f4f7a19715b7b0e57eda63785d3c255595c8ebfaee8f5f2a648ee1b9436bfeb6
- Leaf
- 0x67d56a8526544ebb5efc54c51913b5fb3b485ae42fd069ae7ee3ba1f3a3fc730
What was observed
{
"endpoints": [
[
"x402",
"https://tanod.dev/v1/text/llm-extract"
]
],
"name": "Tanod mlpeek",
"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"
},
{
"amount": "5000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
},
"maxTimeoutSeconds": 300,
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "RMk9k3VC8dr4hhjgFh88rGhjAbzfBzHxJJ5n2fTcqus",
"scheme": "exact"
},
{
"amount": "5000000000000000",
"asset": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
"extra": {
"assetTransferMethod": "permit2",
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:56",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
},
{
"amount": "5000",
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:42161",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
},
{
"amount": "5000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "GatewayWalletBatched",
"verifyingContract": "0x77777777dcc4d5a8b6e418fd04d8997ef11000ee",
"version": "1"
},
"maxTimeoutSeconds": 604900,
"network": "eip155:8453",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
},
{
"amount": "5000",
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "GatewayWalletBatched",
"verifyingContract": "0x77777777dcc4d5a8b6e418fd04d8997ef11000ee",
"version": "1"
},
"maxTimeoutSeconds": 604900,
"network": "eip155:137",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
}
],
"description": "mlpeek (Tanod) JSON extraction from up to 8,000 characters of text under your JSON Schema: the answer always matches the schema (small open LLM on CPU, no model API). Use when an agent must turn text, such as an invoice or job post, into JSON that matches its own schema.",
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"json_schema": {
"properties": {
"currency": {
"type": "string"
},
"due_date": {
"type": "string"
},
"invoice_number": {
"type": "string"
},
"total": {
"type": "number"
},
"vendor": {
"type": "string"
}
},
"required": [
"invoice_number",
"vendor",
"total",
"currency",
"due_date"
],
"type": "object"
},
"text": "Invoice INV-7 from Acme Ltd, total 120.50 EUR, due 2026-11-30."
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"data": {
"invoice_number": "INV-7",
"vendor": "Acme Ltd"
},
"license": "Apache-2.0",
"model": "qwen2.5-1.5b-instruct-q…",
"ms": 5200,
"note": "Model output decoded un…",
"usage": {
"completion_tokens": 52,
"prompt_tokens": 210
}
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"json_schema": {
"additionalProperties": true,
"description": "A JSON Schema object for the answer: at most 8 KB serialised, nested at most 6 levels, local $ref only. The answer always matches it. Set maxLength / maxItems for long values (unbounded strings are cut at 300 characters and arrays at 50 items in decoding).",
"type": "object"
},
"text": {
"description": "The text to read, 1 to 8,000 characters: an invoice, job post, contact block, product page or announcement. It is treated as data, never as instructions.",
"maxLength": 8000,
"minLength": 1,
"type": "string"
}
},
"required": [
"text",
"json_schema"
],
"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"
}
},
"required": [
"input"
],
"type": "object"
}
},
"builder-code": {
"info": {
"a": "bc_h7pxv14u"
},
"schema": {
"additionalProperties": false,
"properties": {
"a": {
"pattern": "^[a-z0-9_]{1,32}$",
"type": "string"
},
"s": {
"items": {
"pattern": "^[a-z0-9_]{1,32}$",
"type": "string"
},
"maxItems": 11,
"type": "array"
},
"w": {
"pattern": "^[a-z0-9_]{1,32}$",
"type": "string"
}
},
"type": "object"
}
},
"erc20ApprovalGasSponsoring": {
"info": {
"description": "The facilitator accepts a raw signed approval transaction and will sponsor the gas fees.",
"version": "1"
},
"schema": {
"properties": {
"amount": {
"pattern": "^[0-9]+$",
"type": "string"
},
"asset": {
"pattern": "^0x[a-fA-F0-9]{40}$",
"type": "string"
},
"from": {
"pattern": "^0x[a-fA-F0-9]{40}$",
"type": "string"
},
"signedTransaction": {
"pattern": "^0x[a-fA-F0-9]+$",
"type": "string"
},
"spender": {
"pattern": "^0x[a-fA-F0-9]{40}$",
"type": "string"
},
"version": {
"pattern": "^[0-9]+(\\.[0-9]+)*$",
"type": "string"
}
},
"required": [
"from",
"asset",
"spender",
"amount",
"signedTransaction",
"version"
],
"type": "object"
}
},
"payment-identifier": {
"info": {
"required": false
},
"schema": {
"properties": {
"id": {
"maxLength": 128,
"minLength": 16,
"pattern": "^[a-zA-Z0-9_-]+$",
"type": "string"
},
"required": {
"type": "boolean"
}
},
"required": [
"required"
],
"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-11-02T12:29:53.566Z",
"quality": {
"l30DaysTotalCalls": 1,
"l30DaysUniquePayers": 1,
"lastCalledAt": "2026-11-02T12:29:52.565Z"
},
"resource": "https://tanod.dev/v1/text/llm-extract",
"serviceName": "Tanod mlpeek",
"tags": [
"mlpeek",
"text",
"llm",
"extract",
"embeddings"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "mlpeek (Tanod) JSON extraction from up to 8,000 characters of text under your JSON Schema: the answer always matches the schema (small open LLM on CPU, no model API). Use when an agent must turn text, such as an invoice or job post, into JSON that matches its own schema."
}What the leaf hashes
{"body":"f4f7a19715b7b0e57eda63785d3c255595c8ebfaee8f5f2a648ee1b9436bfeb6","id":2249966,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793647793725098,"prev":null,"subject":"x402_bazaar:https://tanod.dev/v1/text/llm-extract","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).
- 0x67d5663253c473c877d8c6c4e8432ccbca00fae3ea1066d5bec800639dc9d4cf
- 0x4a7ac001ec88660d3d3bc7774643ec268db2f380c94e8149c5df5291504e2d61
- 0x67b24a39bd7fd59e58fa8dff68697dfd099ed0cd9646edf1ae83d8aa68d2d76e
- 0xb528578616847c8454bdee468d9dbd5ca0a46ebb7564790afcd039aadd1e8e3a
- 0x380e7f6153337ce016b7d46e50eb915445f577949dfa93cef9ffc8ecb4182af7
- 0x238c29850c8cbf6b5624d96960e11c991a6caea71fc87196c81dd0546ee29d8c
- 0x8c6ee5ecb8e942c72f5b236c178dde788d0ff5c1431d2ef62ee8ff914bc4eabd
- 0x9442f3d6e86fd8a8255b3331ee64fc54d524ac84328df21fae5a3cff0c65c306
- 0x5753a7a404b49067034a15c960515b1afdb61a430c79299f7172700bb70452d9
- 0xac346d7abfc0070c9c6d24a2d15e3f53080a94cf653585124b8481e0ed42eb89
- 0x98caddb804c8cff94af0a2ec6a9fa5f80e72c99d18198b12efb73d3c64face7c
- 0x38772423e3e81e7430cea010a925d00b0a50157fbb8a4096baa5e0018fd83123
- 0xefbd3ce8cc9536c9dc7555a61f73905cdeb76d020d347be26b68924fa6aacbfa
- 0x197bc18a6b8126dd9b52133f001dca55646ad9292aafa98222498ec1746809a4
- 0x2cdc73dde4ed839d7482b6b91833e64bef56c7626db8439f3bbdfcffd2ae32a3
- 0x0e5696ae625571c52ddcd8dc09aa6c994b4ab38f2086df20d56f1f01c603e501
- 0xf9973981f80219d4f00fa9186b40a8144accc0c9875572fb79eaea312a21a187
- 0x4d205063c881c48edbbb37762a8d3bbb7444d4c42daa882f663a231893d25c35
- 0x365b161a4b68d750dcc4b3ecce1154a2163c87b08762079428e68f0ebb6a754e
- Day root
- 0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
- Chained
- 0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
- Published
- On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af