Docs
Resolve spec.
One lookup, one JSON object. Wallets and sites need nothing else to pay a name.
Grammar
- label = 3–20 chars
- charset = a–z 0–9 -
- no leading or trailing hyphen
- fqn = label + ".zec"
Record keys
- zec
- required · payment address
- sol
- optional
- zmail
- inbox
- zpay
- store URL
- site
- website
- avatar
- image URL
- note
- free text
Resolution order
- Normalize input, strip the suffix, lowercase.
- Validate against the grammar. Invalid names never resolve.
- Read the registry entry. Expired names resolve as unregistered.
- Return records. Wallets pay the
zeckey.
Economics
- Register
- burn 12,000 $ZNAME
- Split
- 50% destroyed / 50% treasury
- Resale
- 20% of ask to holders in ZEC
Treasury · zec1treasury0znameq7f3k9wq2m4v8xr6pl0n5dhs2yut4c
GET /resolve/alice.zec
{
"name": "alice.zec",
"status": "registered",
"expires": "2028-04-11",
"primary": true,
"records": {
"zec": "zec1q8f3k9wq2m4v8xr6pl0n5dhs2yut4c",
"sol": "So1aliceKq7f3k9wq2m4v8xr6pl0n5dhs",
"zmail": "alice@zmail.zec",
"zpay": "zpay.store/alice",
"site": "alice.site",
"avatar": "https://alice.site/plate.png",
"note": "Correspondence only."
}
}SDK sketch
import { resolve } from "@zname/resolver";
const { records } = await resolve("alice.zec");
send(records.zec, amountZec);
NAME