Terminology
A single-page glossary for ZcashNames and ZNS. When the docs use a term that has a precise meaning, it lives here.
Identity
ZcashNames is the brand: the user-facing experience at zcashnames.com , the wallet integrations, the marketplace UI.
ZNS (Zcash Name Service) is the protocol: the on-chain memo grammar, the indexer, the JSON-RPC API, the SDK ports. ZcashNames is built on ZNS.
Name is a 1 to 62 character lowercase ASCII string of letters and digits. The on-chain canonical form. See Name Validation.
.zcash and .zec suffixes are display-only labels used by the website and wallets. They are interchangeable, never stored on chain, and stripped before any RPC call.
Registration is the row in the indexer’s registrations table for a claimed name. It binds a name to a Zcash address with a signature, a nonce, and a last_action.
Listing is a row in the listings table for a registration that has been put up for sale. It carries its own signature over the LIST pre-image.
Protocol actions
CLAIM registers a previously unregistered name to an address. Costs ZEC per Pricing.
UPDATE rewrites which address a registered name resolves to. Requires ownership proof via OTP.
LIST puts a registered name on the marketplace at a price the seller chooses. Requires ownership proof.
DELIST removes a listing without changing the registration. Requires ownership proof.
BUY purchases a listed name. Anyone can buy at the listed price; the registration’s address rolls to the buyer atomically.
RELEASE permanently deletes a registration, returning the name to Available.
SETPRICE updates the on-chain pricing tiers used for new claims. Signed by the admin key, applied at the block height observed.
Trust and verification
Admin key is the Ed25519 key the protocol uses to sign every state-changing action. Held by the maintainers. The public half is published; clients pin it to verify signatures.
admin_pubkey is the public half of the admin key, returned by the indexer’s status RPC. Pin it to detect a wrong or malicious indexer.
UIVK (Unified Incoming Viewing Key) is the viewing key for the registry wallet. The indexer uses it to trial-decrypt every Orchard note in the chain. The UIVK is published, so anyone can run a parallel indexer and arrive at the same registry.
Pre-image is the exact byte string an Ed25519 signature is computed over. Each action has a fixed pre-image template; verifying a signature means reconstructing the pre-image from the action’s fields and running standard Ed25519 verify. See Signature Scheme.
Nonce is a per-name counter that prevents replay of signed memos. UPDATE, LIST, DELIST, RELEASE, and SETPRICE all require the new nonce to be strictly greater than the current value. CLAIM sets nonce to 0; BUY resets it to 0 for the new owner.
last_action is a field on a registration that names the most recent state-changing action. It selects the pre-image template a verifier uses to check the registration’s signature.
Network
Indexer is the open-source Rust service that scans Zcash blocks, parses ZNS memos, verifies signatures, and serves the registry over JSON-RPC 2.0. Source: zcashme/ZNS.
Registry is the indexer’s local database. Derived state. A function of the chain, the UIVK, and the admin pubkey.
ZVS (Zcash Verification Service) is a separate stateless service that handles ownership proofs via shielded one-time codes. It does not touch the registry.
OTP (One-Time Password) is the 6-digit code ZVS generates from a session ID and an address. Used to gate management actions on the web app.
Session ID is the 16-digit cryptographically random number the web UI uses to seed an OTP exchange.
Hosted endpoints are the public indexer URLs run by the maintainers: https://light.zcash.me/zns-testnet and https://light.zcash.me/zns-mainnet-test.
Cryptography and encoding
Ed25519 is the signature scheme used for every signed action. Pure Ed25519, RFC 8032, no context, no pre-hashing.
Orchard is the shielded pool ZNS memos travel in. All ZNS transactions use Orchard outputs.
Shielded note is an encrypted output in a Zcash transaction. Memos travel inside notes, encrypted to the recipient’s viewing key.
ZIP-321 is the Zcash payment URI standard. The web app generates zcash: URIs that wallets parse to fill in the address, amount, and memo for a payment.
Memo field is the 512-byte UTF-8 field carried by every Orchard shielded note. ZNS lives entirely in this field.
Zatoshi (zat) is the smallest unit of ZEC. 1 ZEC = 100,000,000 zats. All on-chain prices are denominated in zats.
Marketplace
Claim cost is the ZEC paid to register a previously unregistered name. Determined by name length per the on-chain pricing tiers. See Pricing.
Listing price is the ZEC the seller chose when calling LIST. Free-form integers in zatoshis. Buyers pay the exact listing price; overpayment is not refunded.
Reserved name is a name flagged in the operator’s reserved-names policy. Requires an unlock code from the maintainers to claim. See Reserved Names.
Unlock code is the deterministic HMAC fingerprint the signing service issues to redeem a reserved name.
Read next
- What is ZcashNames? - the friendly intro
- How it works - the architecture in 80 lines
- Protocol Overview - the dense version