← The evidence ledger
Evidence row 4167119
Observed , by sync.x402_bazaar/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://tanod.dev/v1/useragent
- Recorded
- Previous row
- #3969756
- Body SHA-256
- 1b47ea9f0ae2303efa3e554f9fce1dd588eb721cdfe089f16751cd1f415c38eb
- Leaf
- 0x2944271204312edc160ae2a4b7850f1fdbdea12672a3e6a9c1001f22ad26fb6d
What was observed
{
"endpoints": [
[
"x402",
"https://tanod.dev/v1/useragent"
]
],
"name": "Tanod utilpeek",
"owner_address": "0x593857a4a4f619543ea12394137c3004ce841720",
"raw": {
"accepts": [
{
"amount": "1000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:8453",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
},
{
"amount": "1000",
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:137",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
},
{
"amount": "1000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
},
"maxTimeoutSeconds": 300,
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "RMk9k3VC8dr4hhjgFh88rGhjAbzfBzHxJJ5n2fTcqus",
"scheme": "exact"
},
{
"amount": "1000000000000000",
"asset": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
"extra": {
"assetTransferMethod": "permit2",
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:56",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
},
{
"amount": "1000",
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:42161",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
},
{
"amount": "1000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "GatewayWalletBatched",
"verifyingContract": "0x77777777dcc4d5a8b6e418fd04d8997ef11000ee",
"version": "1"
},
"maxTimeoutSeconds": 604900,
"network": "eip155:8453",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
},
{
"amount": "1000",
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "GatewayWalletBatched",
"verifyingContract": "0x77777777dcc4d5a8b6e418fd04d8997ef11000ee",
"version": "1"
},
"maxTimeoutSeconds": 604900,
"network": "eip155:137",
"payTo": "0x593857A4a4F619543ea12394137C3004ce841720",
"scheme": "exact"
}
],
"description": "Parse a User-Agent into browser, OS and device, with a bot heuristic. Use when an agent has a User-Agent string and needs the browser, OS, device and a bot flag.",
"extensions": {
"bazaar": {
"info": {
"input": {
"body": {
"user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Mobile/15E148 Safari/604.1"
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"bot_reason": null,
"browser": {
"family": "Mobile Safari",
"major": "17",
"minor": "4",
"patch": null,
"version": "17.4"
},
"device": {
"brand": "Apple",
"family": "iPhone",
"model": "iPhone"
},
"is_bot": false,
"is_mobile": true,
"length": 135,
"note": "Parsed from the string the client sent; a User-Agent is self-reported and easy to fake. is_bot is a heuristic (declared crawlers, HTTP libraries, headless browsers).",
"os": {
"family": "iOS",
"major": "17",
"minor": "4",
"patch": null,
"version": "17.4"
},
"source": {
"library": "ua-parser 1.0.2",
"license": "Apache-2.0",
"regexes": "ua-parser-builtins 202610 (uap-core)",
"url": "https://github.com/ua-parser/uap-python"
}
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"user_agent": {
"description": "A User-Agent header value (1-1024 chars).",
"maxLength": 1024,
"minLength": 1,
"type": "string"
}
},
"required": [
"user_agent"
],
"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/useragent",
"properties": {
"bot_reason": {
"type": [
"string",
"null"
]
},
"browser": {
"type": "object"
},
"device": {
"type": "object"
},
"is_bot": {
"type": "boolean"
},
"is_mobile": {
"type": "boolean"
},
"length": {
"type": "integer"
},
"note": {
"type": "string"
},
"os": {
"type": "object"
},
"source": {
"type": "object"
}
},
"required": [
"browser",
"os",
"device",
"is_bot",
"bot_reason",
"is_mobile",
"length",
"source",
"note"
],
"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:46:36.049Z",
"quality": {
"l30DaysTotalCalls": 1,
"l30DaysUniquePayers": 1,
"lastCalledAt": "2026-11-07T22:46:35.409Z"
},
"resource": "https://tanod.dev/v1/useragent",
"serviceName": "Tanod utilpeek",
"tags": [
"user-agent",
"browser-detection",
"device-detection",
"bot-detection"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "Parse a User-Agent into browser, OS and device, with a bot heuristic. Use when an agent has a User-Agent string and needs the browser, OS, device and a bot flag."
}What the leaf hashes
{"body":"1b47ea9f0ae2303efa3e554f9fce1dd588eb721cdfe089f16751cd1f415c38eb","id":4167119,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1794170684570810,"prev":3969756,"subject":"x402_bazaar:https://tanod.dev/v1/useragent","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).
- 0x294446ed0c34f40e27810977404b501cacdeb4c9802eebef93c8b22a5aeea038
- 0x1e9dc795d3b3766d3669004cdf38fc5bfa612120d7a2b9e644b768dc94d51f1a
- 0x43cbbb30e91b57f0a0b120911daf74b0b5ddc5335b7998852270bc32811188d7
- 0xbec93881d3c4a36c1a7434d66a70eb7fe94be4a3444b7cecf7bbb3a8298d829c
- 0x6867317831ef45c9d1804c2ad28c590b984118474e112f027ee94aa7ba47050d
- 0x58a08f4c6c0c3c0e768b060baa8067a91a46f1a56f95cb93c786dd8fe08b2e92
- 0xabda82b4d4c9f439194f68d04828e91aa659420232513d70fa8b3c643889cf6b
- 0xe65f130d4a7789d8e239836152ff80bf89fa73102a639dde5176d9655389d8ef
- 0xdb5f8a22d003685581f82c6b4bacf0b75062da7fcaadacacc767a55aad6254fe
- 0xfeb677bd27c1f36a611d9c0452fa12ec84a6da9692898d54922e598c79ae2854
- 0x86dc86acd51d84c1bd6a92908ae7eab32cec5eabfa8e40b5c9dda18e8b50ed95
- 0xc603aaac5ae27c8dd786d80d51e9e8f4eb4f0db13cdd092a9ddb1800266a57ec
- 0x45ed620be030abb10f19c08e05db589cd602ab4ea9696251744dd73377e8bb95
- 0x4bd772c9a17868f0fefbed9997e4f5adae5a57e8c33740a90ffac99733341b43
- 0x09d2e17fa8f3e9a2f4f828fdf6cdcead1db258ec62d192ca8393958c2b06f6cd
- 0x1962b987e02fbb17a8951e440b8c94ffca5debb84fd17d27b5f1c60361f21c36
- 0x2031bf8fabeeff87db710efedafb2b06df0de0b25ca93fb078786a0ebfe9bbc5
- 0x1f0ff2af9da38fef1beef5d2dbcf41f592dca17729b7ab9b9c0b6ef354dc3b83
- Day root
- 0xbf84ec37f88c5f23d2144bd7dbc1ea0f8edc93b3764a885a7164b7923ff3460b
- Chained
- 0x9fea188e4965f50de727e97c40e18d5ff2c2ddbfd4f1ae65e22ddd6f676bccfc
- Published
- On Arc Testnet, block 71451618: 0xb5273480942a54cd07f291b8319e59976f8d9d0583181c764eed04c9b3f7a022