Zcash Naming Service (ZNS)
Send ZEC to
alice.zecinstead ofu1qr5e...7xk4
ZNS is a naming system for Zcash. Users register human-readable names by sending a single shielded transaction with a signed memo to a deterministic registrar address. Indexers scan the blockchain, build a registry, and prove each registration correct using zero-knowledge proofs (SP1).
How It Works
- Alice generates an Ed25519 keypair and sends 0.01 ZEC to the registrar with memo:
ZNS:v1:REGISTER:alice:<address>:<pubkey>:<signature> - Scanner validates: name is valid, not taken, signature verifies, fee sufficient
- Bob calls
GET /v1/resolve/aliceand gets Alice's address + Merkle proof - Bob sends ZEC to that address. He never sees the 213-character unified address.
Key Features
- Name registration via shielded Zcash memos (single transaction)
- Ed25519 ownership with signed API management (UPDATE, TRANSFER, LIST, DELIST, CONFIRM_SALE)
- Escrow marketplace for buying/selling names with shielded payments
- SP1 zero-knowledge proofs for every registration
- Sparse Merkle Tree with verifiable state roots
Name Rules
| Rule | Value |
|---|---|
| Allowed characters | a-z, 0-9, hyphens |
| Length | 3-63 characters |
| Case | Case-insensitive (stored lowercase) |
| Hyphens | No leading/trailing/consecutive |
| TLD | .zec (implied, not stored) |
Registration Fees
| Name length | Fee |
|---|---|
| 8+ characters | 0.01 ZEC |
| 5-7 characters | 0.1 ZEC |
| 3-4 characters | 1 ZEC |
Fees are burned (sent to registrar, nobody holds the spending key). Names are permanent.
Live Deployment
| Resource | URL |
|---|---|
| Frontend | zecname.xyz |
| API | zns-server-production.up.railway.app |
| Network | Zcash testnet |