Name Validation
Names must conform to the following rules before the indexer will accept a CLAIM, UPDATE, LIST, DELIST, BUY, RELEASE, or SETPRICE memo that references them. The reference implementation is validate_name in src/memo.rs.
Rules
| Rule | Valid | Invalid |
|---|---|---|
| 1–62 characters | a, alice, bob123 | “ (empty), 63+ chars |
| Lowercase only | alice | Alice, ALICE |
| Alphanumeric only | alice, bob42 | my-name, alice_bob, alice.bob |
Character set
a-z 0-9Only lowercase ASCII letters and digits. No hyphens, no underscores, no dots, no unicode.
Regex
^[a-z0-9]{1,62}$The OpenRPC schema and every SDK port enforce this same pattern.
Normalization
Clients should lowercase and trim whitespace before constructing a memo. The web interface does this automatically. The indexer does no normalization - it enforces the rules byte-for-byte. An invalid name in a memo is silently ignored (memo unparsed, transaction still settles as a normal Zcash payment).
The .zcash and .zec suffixes are display-only. They are never stored on-chain or in the registry and must never appear in a memo.
Examples
| Input | Valid | Reason |
|---|---|---|
alice | Yes | |
a | Yes | Single character allowed |
bob42 | Yes | Letters + digits |
Alice | No | Uppercase |
my-name | No | Hyphens not allowed |
my_name | No | Underscores not allowed |
bad.name | No | Dots not allowed |
has space | No | Spaces not allowed |
café | No | Non-ASCII |