← The evidence ledger
Evidence row 4166721
Observed , by sync.x402_bazaar/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://tanod.dev/v1/image/qr-read
- Recorded
- Previous row
- #122282
- Body SHA-256
- fcf5e3355f5c4984a8093da8687d55a7cb3ec2d66b8c630f14aeffd4fdaa91f6
- Leaf
- 0xf41e2bf412f2d77b5578f2cc1badb5646d14381065d1bd9ff0896caf72e93f65
What was observed
{
"endpoints": [
[
"x402",
"https://tanod.dev/v1/image/qr-read"
]
],
"name": "Tanod imagepeek",
"owner_address": "0x593857a4a4f619543ea12394137c3004ce841720",
"raw": {
"accepts": [
{
"amount": "2000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:8453",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
},
{
"amount": "2000",
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:137",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
},
{
"amount": "2000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
},
"maxTimeoutSeconds": 300,
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "RMk9k3VC8dr4hhjgFh88rGhjAbzfBzHxJJ5n2fTcqus",
"scheme": "exact"
},
{
"amount": "2000000000000000",
"asset": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
"extra": {
"assetTransferMethod": "permit2",
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:56",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
},
{
"amount": "2000",
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:42161",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
},
{
"amount": "2000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "GatewayWalletBatched",
"verifyingContract": "0x77777777dcc4d5a8b6e418fd04d8997ef11000ee",
"version": "1"
},
"maxTimeoutSeconds": 604900,
"network": "eip155:8453",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
},
{
"amount": "2000",
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "GatewayWalletBatched",
"verifyingContract": "0x77777777dcc4d5a8b6e418fd04d8997ef11000ee",
"version": "1"
},
"maxTimeoutSeconds": 604900,
"network": "eip155:137",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
}
],
"description": "Decode QR codes and barcodes in an image; returns text, type and position. Use when an image holds QR codes or barcodes whose decoded text, positions or payment fields are needed.",
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"url": "https://tanod.dev/examples/qr-sample-pix.png"
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"codes": [],
"count": 1,
"final_url": "https://tanod.dev/examples/qr-s…",
"input": {
"bytes": 808,
"format": "png",
"height": 456,
"width": 456
},
"notes": [],
"operation": "qr-read",
"source": {
"library": "OpenCV (QR, EAN, UPC) + Tanod s…",
"license": "Apache-2.0",
"url": "https://opencv.org"
},
"source_url": "https://tanod.dev/examples/qr-s…",
"untrusted_content": true
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"image_base64": {
"anyOf": [
{
"maxLength": 13333464,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The image as standard or url-safe base64 (at most 10 MB decoded; a data:image/...;base64, prefix is fine); or use url."
},
"parse_emv": {
"default": true,
"description": "Also return `emv`, the parsed fields and CRC check, for a QR whose text is an EMVCo payment payload (starts 000201: PIX, QR Ph, SGQR, PromptPay, DuitNow, ...). Default true.",
"type": "boolean"
},
"url": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Public http(s) URL of the image (at most 10 MB; private, internal and IP-literal hosts are refused); or use image_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": {
"description": "Abridged to fit the header. Full example: the 402 JSON body. Full schema: https://tanod.dev/openapi.json POST /v1/image/qr-read",
"properties": {
"codes": {
"type": "array"
},
"count": {
"type": "integer"
},
"final_url": {
"type": "string"
},
"input": {
"type": "object"
},
"notes": {
"type": "array"
},
"operation": {
"type": "string"
},
"source": {
"type": "object"
},
"source_url": {
"type": "string"
},
"untrusted_content": {
"type": "boolean"
}
},
"required": [
"operation",
"input",
"notes",
"count",
"codes",
"untrusted_content"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"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-07T22:48:24.209Z",
"quality": {
"l30DaysTotalCalls": 3,
"l30DaysUniquePayers": 2,
"lastCalledAt": "2026-11-07T22:48:23.531Z"
},
"resource": "https://tanod.dev/v1/image/qr-read",
"serviceName": "Tanod imagepeek",
"tags": [
"qr-reader",
"barcode-reader",
"qr-decode",
"image"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "Decode QR codes and barcodes in an image; returns text, type and position. Use when an image holds QR codes or barcodes whose decoded text, positions or payment fields are needed."
}What the leaf hashes
{"body":"fcf5e3355f5c4984a8093da8687d55a7cb3ec2d66b8c630f14aeffd4fdaa91f6","id":4166721,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1794170614309842,"prev":122282,"subject":"x402_bazaar:https://tanod.dev/v1/image/qr-read","subject_kind":"source_record"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (183509 rows).
- 0xf41de652bf625a11e1450fc66bcf03c77cffcd3e188833cede09dfd8deef2705
- 0x97d6846657ac0ecfa9e605e576dacbbddc7ee8c580b731ba73be80a6e448b41f
- 0x3e5e9270434b624acdf4a046d2a7b137d8be3efe70ffaab60ecd170c741988eb
- 0xed20ffa4629e37fbff7cd2e82138bb12871469d558facc88af287d838ae2acb6
- 0x7566fdf7d67f87431beefa1079ecb31768dc348af89a96bcfee72724a9837bc0
- 0xb259b6a508de0fba26e4a721e3acc0cdc199a3646071dfb74779607fc0d7143f
- 0xfcd253ee60dd7811790eea1c531f5520c0e6681e4872fc172719aed9f150dc3a
- 0xeec665b2b6853623f6a6802a15776070b0e97f3805d548f6790d41e70ce6bf5f
- 0x35e911b9480f605ae3829a503df9a24920177f813b6b81b7db4581ab98849fc1
- 0xcddc79a1c2e2999d05d9c6aa5fb4535a043d06c5c3c2dea54a4a4bb43441cde1
- 0x4c7b8116dfbd1dbae878543fa18f793d668cf88239d3e147d40b1b07cf41d310
- 0x36cf329347e409683dd63d5f07b37239f2815f6d4ea3c266f32ec0a451142d26
- 0x8e46de92ae3dcd0cc164fc82f011ebcb09fb9265e23bd68582ca4553071da8ae
- 0x462337cfcf4a25e4d743e16c57ee689531894ccc5265ba9fcf36be4298a307ae
- 0x41be111f1c6a20bdc67d886780b7a6b2f0ff5ab9d9f6e536681f4081b7c93338
- 0xf9aac73ecfa1eb00a9ea18eb29993fb1634bd55ad625dfc8c59fd9afcef514f5
- 0x2d9754fdf3b1fe7b0030b55b1fe7e859e5c53291df3d09cef34b31423a50dc18
- Day root
- 0xbf84ec37f88c5f23d2144bd7dbc1ea0f8edc93b3764a885a7164b7923ff3460b
- Chained
- 0x9fea188e4965f50de727e97c40e18d5ff2c2ddbfd4f1ae65e22ddd6f676bccfc
- Published
- On Arc Testnet, block 71451618: 0xb5273480942a54cd07f291b8319e59976f8d9d0583181c764eed04c9b3f7a022