Skip to Content
ProtocolName Validation

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

RuleValidInvalid
1–62 charactersa, alice, bob123“ (empty), 63+ chars
Lowercase onlyaliceAlice, ALICE
Alphanumeric onlyalice, bob42my-name, alice_bob, alice.bob

Character set

a-z 0-9

Only 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

InputValidReason
aliceYes
aYesSingle character allowed
bob42YesLetters + digits
AliceNoUppercase
my-nameNoHyphens not allowed
my_nameNoUnderscores not allowed
bad.nameNoDots not allowed
has spaceNoSpaces not allowed
caféNoNon-ASCII
Last updated on