api.duoleads.com
https://api.duoleads.com/v1/text/unicodeShares a payout wallet with 32 other endpoints — its adoption is attributed from that shared wallet's traffic, not earned exclusively.
Analyse a string at the Unicode level: apply NFC, NFD, NFKC or NFKD normalisation, report which normalisation forms it is already in, list the scripts present, and flag confusable and homoglyph characters — Cyrillic а in a Latin word, zero-width joiners, bidirectional overrides, invisible characters. Returns per-character detail for anything suspicious, with code points, names and the ASCII character each one imitates.
Reliability & health
Uptime and response time from our own unpaid probes, plus the reliability score built from them.
Uptime
100.0% avgResponse time
p50 8ms · p95 13msData table
| Bucket | Uptime | Probes | Response time |
|---|---|---|---|
| 9/29/2026, 12:00:00 AM | 100% | 8 | 8ms |
| 9/30/2026, 12:00:00 AM | 100% | 12 | 8ms |
| 10/1/2026, 12:00:00 AM | 100% | 12 | 9ms |
| 10/2/2026, 12:00:00 AM | 100% | 12 | 8ms |
| 10/3/2026, 12:00:00 AM | 100% | 13 | 9ms |
| 10/4/2026, 12:00:00 AM | 100% | 10 | 8ms |
| 10/5/2026, 12:00:00 AM | 100% | 6 | 8ms |
- Availability
- 100
- Latency
- 100
- Security
- 100
- Transparency
- 61
- Activity
- 1
How often it was reachable when we probed it (weight 35%).
How quickly it answers when it is up — fast scores high (weight 20%).
Whether it serves over working TLS / https (weight 15%).
Whether the operator disclosed what it does — description, schema, identity (weight 15%).
Observed on-chain payments to this endpoint's wallet — transactions, volume, and distinct paying wallets over the last month (weight 15%; not yet measured when we have not seen its wallet settle).
Confidence 100% — how much probe evidence backs this score. A thin history is flagged, not hidden.
See the scoring methodology for exactly how each number is computed.
Payment
- Currencies
- USDC
- Networks
- base
- Facilitator
- unknown
- SDK
- unknown
Operator
- Company
- inferred — unknown
- Jurisdiction
- —
- Registrar
- Key-Systems GmbH
- Domain registered
- 2020-10-29
- Hosting network
- CLOUDFLARENET
- Hosting country
- —
Operator context is derived from public RDAP/TLS records and unverified. Company and country are only available for endpoints that publish them (an OV/EV TLS certificate or a non-redacted domain record); most endpoints are CDN-fronted and disclose neither.
On-chain activity (base)
Payments per day
last payment 10/2/2026Data table
| Day | Payments | Volume (USD) | Paying wallets |
|---|---|---|---|
| 9/28/2026 | 49 | 2.45 | 1 |
| 9/29/2026 | 55 | 2.75 | 1 |
| 10/1/2026 | 33 | 1.65 | 1 |
| 10/2/2026 | 1 | 0.05 | 1 |
This payout wallet is shared: figures cover all 33 endpoints paid at it, since payments cannot be attributed to one of them. Only payments settled on chains and facilitators we index.
Linked by wallet — likely same operator
On-chain agent identity and the x402 endpoint that shares its settlement wallet.
Response schema
{
"properties": {
"data": {
"description": "normalised, form, already_normalised {nfc, nfd, nfkc, nfkd}, lengths {code_points, graphemes, utf8_bytes, utf16_units} (of the normalised output), scripts (every Unicode Script property value present, from Unicode 18 Scripts.txt; Common and Inherited are not listed), mixed_script, suspicious [{index (code point index in the input), char, code_point, name (Unicode character name; string|null, null only when the name is not vendored: only ASCII, Latin-1, spaces, combining marks, format and default-ignorable characters, controls and confusable look-alikes have names), category, kind confusable|invisible|bidi|combining_excess, looks_like (string|null, null unless kind is confusable)}], ascii_safe (input is printable ASCII only); with detail=full also characters [{index, char, code_point, name (string|null, as above), category, script (string|null, null for Common/Inherited/unassigned)}] (first 256) and characters_truncated. Confusables (UTS #39 confusables.txt, the entries that map to one ASCII character): in mixed-script text every one is reported; in single-script text the compatibility look-alikes of ASCII letters and digits (fullwidth, mathematical, Roman numerals) and words written wholly in one non-Latin script whose every letter has an ASCII look-alike (whole-script confusables, e.g. Cyrillic рау). Invisible = format characters (Cf), Default_Ignorable_Code_Point (e.g. Hangul filler U+3164, variation selectors) and U+2800 braille blank; bidi = embeddings, overrides, isolates and directional marks; combining_excess = the 4th and later combining marks in a row.",
"properties": {
"already_normalised": {
"properties": {
"nfc": {
"type": "boolean"
},
"nfd": {
"type": "boolean"
},
"nfkc": {
"type": "boolean"
},
"nfkd": {
"type": "boolean"
}
},
"required": [
"nfc",
"nfd",
"nfkc",
"nfkd"
],
"type": "object"
},
"ascii_safe": {
"type": "boolean"
},
"characters": {
"items": {
"properties": {
"category": {
"type": "string"
},
"char": {
"type": "string"
},
"code_point": {
"type": "string"
},
"index": {
"type": "integer"
},
"name": {
"type": [
"string",
"null"
]
},
"script": {
"type": [
"string",
"null"
]
}
},
"required": [
"index",
"char",
"code_point",
"name",
"category",
"script"
],
"type": "object"
},
"type": "array"
},
"characters_truncated": {
"type": "boolean"
},
"form": {
"type": "string"
},
"lengths": {
"properties": {
"code_points": {
"type": "integer"
},
"graphemes": {
"type": "integer"
},
"utf16_units": {
"type": "integer"
},
"utf8_bytes": {
"type": "integer"
}
},
"required": [
"code_points",
"graphemes",
"utf8_bytes",
"utf16_units"
],
"type": "object"
},
"mixed_script": {
"type": "boolean"
},
"normalised": {
"type": "string"
},
"scripts": {
"items": {
"type": "string"
},
"type": "array"
},
"suspicious": {
"items": {
"properties": {
"category": {
"type": "string"
},
"char": {
"type": "string"
},
"code_point": {
"type": "string"
},
"index": {
"type": "integer"
},
"kind": {
"type": "string"
},
"looks_like": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
}
},
"required": [
"index",
"char",
"code_point",
"name",
"category",
"kind",
"looks_like"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"normalised",
"form",
"already_normalised",
"lengths",
"scripts",
"mixed_script",
"suspicious",
"ascii_safe"
],
"type": "object"
},
"meta": {
"$ref": "#/components/schemas/Meta"
},
"ok": {
"const": true
},
"route": {
"const": "/v1/text/unicode"
},
"version": {
"const": "1.0.0"
}
},
"required": [
"ok",
"route",
"version",
"data",
"meta"
],
"type": "object"
}