Skip to main content

Registering a Name

Alice wants alice.zec. Here's what happens:

  1. Generate an Ed25519 keypair -- this keypair proves ownership
  2. Send 0.01 ZEC to the ZNS registrar address with a signed memo
  3. Scanner validates -- name rules, signature, fee
  4. Done -- alice.zec is live
Alice                         Zcash Blockchain                    ZNS Scanner
| | |
|-- send 0.01 ZEC + memo -------->| |
| (shielded transaction) | |
| |-- new block ------------------>|
| | |-- validate name
| | |-- verify signature
| | |-- check fee
| | |-- register alice.zec

The Memo

The registration memo has 7 colon-separated fields:

ZNS:v1:REGISTER:{name}:{unified_address}:{ed25519_pubkey}:{signature}

The signature signs "REGISTER:{name}:{address}" using the Ed25519 private key. This proves Alice authorized the registration -- nobody can register a name on her behalf without her key.

Fees

Fees are burned -- sent to an address nobody can spend from. Names are permanent, no renewals.

Name LengthFee
8+ characters0.01 ZEC
5 -- 7 characters0.1 ZEC
3 -- 4 characters1 ZEC

The Registrar

The registrar address is deterministic -- derived from SHA-256("ZNS Registrar v1 - Zcash Naming Service"). Nobody holds the spending key. Its Incoming Viewing Key (IVK) is public so anyone can run their own scanner and verify registrations.