Resolve Unicode names
Normalise, compare, and detect confusable names before you act on one.
Protocol behavior Verified 2026-08-31
Describes the Atomicals protocol itself at the pinned reference revision. It does not promise that any product exposes it.
- Page ID
-
guides/resolve-unicode-names - Normative authority
- Atomicals reference implementation
- Networks
- mainnet
- Documentation version
- 2026.08
- Audience
- everyone, developer, integrator
- Owner
- bitcoin-universe-docs
- Sources
-
- Atomicals ElectrumX
at
v1.5.2.0 - Universe Atomicals NFT, Realm, and Subrealm index
at
1d9109c68d95private repository
- Atomicals ElectrumX
at
- Known limitations
-
- Confusable detection reduces risk. What looks alike depends on the font and the reader, so it cannot eliminate it.
此内容尚不支持你的语言。
Before you start
Section titled “Before you start”- Supported networks: mainnet.
- Status: protocol behavior for the rules, Universe implementation for the resolution service.
- Do this before paying to any name.
The procedure
Section titled “The procedure”- Take the exact bytes of the name, not a rendering of it.
- Normalise it for comparison. Keep the original bytes separately.
- Resolve the normalised form to an Atomical ID.
- Read that Atomical’s current location and owner script.
- Compare the name against names you already use. Look for mixed scripts and confusable characters.
- Display the resolved address to whoever is about to act, and get their confirmation.
Three forms, three uses
Section titled “Three forms, three uses”| Form | Use |
|---|---|
| Exact minted bytes | Identity, storage, and what the validator saw |
| Normalised form | Comparison, deduplication, confusable detection |
| Display form | What a reader sees, escaped and marked when risky |
Never store only the normalised form, and never display it as if it were the name.
Warning signs
Section titled “Warning signs”- The name mixes scripts, for example Latin and Cyrillic characters in one word.
- The name uses combining marks where a precomposed character is usual.
- The name contains bidirectional control characters.
- The name is one character different from one you already trust.
- The name arrived in a message rather than from a source you control.
If validation fails
Section titled “If validation fails”A rejected name should tell you which character and which rule. The Universe read model surfaces Unicode and IDNA errors explicitly rather than returning a generic failure, so read the error rather than guessing.