← The evidence ledger
Evidence row 2201828
Observed , by sync.x402_bazaar/1.
- Kind
- listing
- About
- source_record x402_bazaar:https://unicode-text-tools.x402tookit.com/confusables
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 50fdaf42639e863ccc3c5a46a5618448a9fb6b2bd03828fa9af9cff3eda5e543
- Leaf
- 0x82c48f968d343092d7b5d15e5b68a3e1c701bdf0f996d09f74e1104f558d2c2e
What was observed
{
"endpoints": [
[
"x402",
"https://unicode-text-tools.x402tookit.com/confusables"
]
],
"name": "Unicode Text Safety Tools",
"owner_address": "0xb531320805c5bed1d46aeadcf4f008fdf172dbda",
"raw": {
"accepts": [
{
"amount": "20000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:8453",
"payTo": "0xb531320805C5BED1D46AEaDcF4F008FDF172DBDa",
"scheme": "exact"
},
{
"amount": "20000",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM",
"transactionVersions": [
0
]
},
"maxTimeoutSeconds": 300,
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "DUPiupXtuox38dcGoXUKer5mAydCzmaHjrbQ66qeEm8s",
"scheme": "exact"
},
{
"amount": "20000",
"asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:137",
"payTo": "0xb531320805C5BED1D46AEaDcF4F008FDF172DBDa",
"scheme": "exact"
},
{
"amount": "20000",
"asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"extra": {
"name": "USD Coin",
"version": "2"
},
"maxTimeoutSeconds": 300,
"network": "eip155:42161",
"payTo": "0xb531320805C5BED1D46AEaDcF4F008FDF172DBDa",
"scheme": "exact"
}
],
"description": "UTS #39 skeleton and homoglyph check: which characters look like others, and whether two strings are confusable.",
"extensions": {
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"other": "paypal",
"text": "pаypal"
},
"type": "http"
},
"output": {
"example": {
"asOf": "2026-10-21T01:34:51.461Z",
"confusablesDataVersion": "18.0.0",
"degraded": false,
"disclaimer": "Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting.",
"identicalStrings": false,
"mappedCharacters": [
{
"char": "а",
"codepoint": "U+0430",
"index": 1,
"looksLike": "a",
"looksLikeCodepoints": [
"U+0061"
],
"script": "Cyrillic"
}
],
"mixedScripts": true,
"nonAsciiLookingAscii": 1,
"notChecked": [
"whether the string is a real brand or domain",
"confusables across more than the single-character mapping (for example rn versus m is covered only where the data lists it)",
"…1 more"
],
"other": {
"scripts": [
"Latin"
],
"skeleton": "paypal"
},
"reasons": [
"Different code points that map to the same skeleton are the basis of homograph spoofing."
],
"scripts": [
"Latin",
"Cyrillic"
],
"skeleton": "paypal",
"skeletonCodePoints": [
"U+0070",
"U+0061",
"…4 more"
],
"skeletonsMatch": true,
"source": "computed locally",
"summary": "The strings are different but have the same UTS #39 skeleton: they can look alike to a reader.",
"verdict": "CONFUSABLE"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"other": {
"description": "Optional second string, up to 500 characters; reports whether the two skeletons match",
"type": "string"
},
"text": {
"description": "String to check, up to 500 characters (longer is refused with 400)",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"asOf": {
"type": [
"null",
"string"
]
},
"confusablesDataVersion": {
"type": [
"null",
"string"
]
},
"degraded": {
"type": [
"boolean",
"null"
]
},
"disclaimer": {
"type": [
"null",
"string"
]
},
"identicalStrings": {
"type": [
"boolean",
"null"
]
},
"mappedCharacters": {
"items": {
"properties": {
"char": {
"type": [
"null",
"string"
]
},
"codepoint": {
"type": [
"null",
"string"
]
},
"index": {
"type": [
"null",
"number"
]
},
"looksLike": {
"type": [
"null",
"string"
]
},
"looksLikeCodepoints": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"script": {
"type": [
"null",
"string"
]
}
},
"type": "object"
},
"type": [
"array",
"null"
]
},
"mixedScripts": {
"type": [
"boolean",
"null"
]
},
"nonAsciiLookingAscii": {
"type": [
"null",
"number"
]
},
"notChecked": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"other": {
"properties": {
"scripts": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"skeleton": {
"type": [
"null",
"string"
]
}
},
"type": [
"null",
"object"
]
},
"reasons": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"scripts": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"skeleton": {
"type": [
"null",
"string"
]
},
"skeletonCodePoints": {
"items": {
"type": "string"
},
"type": [
"array",
"null"
]
},
"skeletonsMatch": {
"type": [
"boolean",
"null"
]
},
"source": {
"type": [
"null",
"string"
]
},
"summary": {
"type": [
"null",
"string"
]
},
"verdict": {
"type": [
"null",
"string"
]
}
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
},
"lastUpdated": "2026-11-01T23:24:09.1Z",
"quality": {
"l30DaysTotalCalls": 1,
"l30DaysUniquePayers": 1,
"lastCalledAt": "2026-11-01T23:24:08.856Z"
},
"resource": "https://unicode-text-tools.x402tookit.com/confusables",
"serviceName": "Unicode Text Safety Tools",
"tags": [
"unicode",
"homoglyph",
"confusables",
"spoofing",
"uts39"
],
"type": "http",
"x402Version": 2
},
"source": "x402_bazaar",
"summary": "UTS #39 skeleton and homoglyph check: which characters look like others, and whether two strings are confusable."
}What the leaf hashes
{"body":"50fdaf42639e863ccc3c5a46a5618448a9fb6b2bd03828fa9af9cff3eda5e543","id":2201828,"kind":"listing","method":"sync.x402_bazaar/1","observed_us":1793646809051945,"prev":null,"subject":"x402_bazaar:https://unicode-text-tools.x402tookit.com/confusables","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).
- 0x82c4bfe0a018febfad593aab07abb7ab353e4fb176b68a5d13e4e8d3e9913a56
- 0x16e1c2df785fe55898e0e28aeb2a368df2a02bee1fd6ae0f00bcc61103adc03a
- 0x90b09d2cfb7da94834437532c7dd8929bfaf82ef2ffa847641202e917fc1effe
- 0x08f2db0b9acbac205493c6836e05dffb97441e527d3ce7a6cdc14c62fb8949e8
- 0x1965db6737757cd14c067908a5d94f45fa63ec36eec6e75ff066fadd5516d3be
- 0x56e57ceac2e633574405f73c2bd4bee37a68fd4fccf3e778fa7d6f71edb3dbbb
- 0x9ee936a06da021cab2ff26ed4eeea259adf7eb7e4a52ea9313bccd61370c7b04
- 0x45702e17d144f4a425fa9797762753236cd9d287379c8552c2d79b053ebc2ced
- 0x94efb6f5ffddd5930d3e2b3b762e313036fb8c1f8d6a94a073dd79a5a1e8c0ae
- 0xa78e91f2fe3dd0be144b2a0ded391495b37cb41a1763b8fdd7c6c2f4ac99115e
- 0x6012ca3e294d721e95293a0f0d4d05cfe67ff640b8184bb4d81660ad69ab45f4
- 0x9236ce44089e10e350435c01e569b60f72046bb5112e06356a17b8f3c0a940ee
- 0xf82dc9b9d8e081f36e55e80fab45654768c11eb158257f63f8ca7ff17d181d54
- 0x5d40473873ebe898bcca4e49df524bf4345695f06abe3579f4bdb7b306b863f8
- 0x46991481c678139203ebc3c532867ce1643c09ddc33966c4fb48bb7f033ab22f
- 0x3b89dd05634a82075204d3c671f613081ddfd9df739c64c0a8f39081bdfa32c7
- 0x1805ef693fbdb2c23fcb61616f830408ca89bec1dc5b68ee47a770ffc0b9760a
- 0x4d205063c881c48edbbb37762a8d3bbb7444d4c42daa882f663a231893d25c35
- 0x365b161a4b68d750dcc4b3ecce1154a2163c87b08762079428e68f0ebb6a754e
- Day root
- 0x78fecaabbe319e56f5c4b80fc02e2052e198ad24781da8832a475ff65f2002d1
- Chained
- 0xdc35957db5d1371ca382b9152878ffece28ec7c5cb4f98fd71ddb367f8b999b2
- Published
- On Arc Testnet, block 70432815: 0x56b814612eb2e3e544153df3e91e1f7199106d1e430c7d8c6b653feeb9ebe9af