How Moniker works
One contract keeps every .ely name: who owns it, where it points, until when, and a few profile fields.
A name
A name is 3 to 32 characters of lowercase a-z, digits 0-9 and hyphens that don't start or end it. The site adds .ely; the contract stores the bare name.
Each name has an owner (who can change it), an address it points to (where HYPE sent to the name goes), and an expiry.
Prices
| 3 characters | 1 HYPE a year |
| 4 characters | 0.25 HYPE a year |
| 5 or more | 0.03 HYPE a year |
Register or renew for 1 to 10 years. The exact price goes to the treasury; anything sent above it is returned in the same transaction. Anyone can renew any name.
Expiry and grace
When a name expires it stops resolving. For the next 30 days only a renewal is possible, so the owner can keep it. After that anyone can register it, and it starts clean: the old profile fields don't carry over.
Primary name
A wallet chooses one name to be shown for it with setPrimary(name). The name must point at that wallet. If it stops pointing there, or expires, the wallet has no primary name until it picks one again. A wallet's first name that points to it becomes its primary name by itself.
Profile
The owner can set short public fields: x (handle), url (a link) and bio (one line, up to 280 bytes). Keys are free text up to 32 bytes, so apps can add their own.
For other apps
resolve(name)returns the address, or zero if the name is free or expired.nameOf(wallet)andnamesOf(wallets[])return primary names, or empty strings.- This site answers
/api/name?n=aliceand/api/reverse?a=0x…with the same data, readable from any origin.
Safeguards
- No owner, no upgrade. Nobody can take, freeze or reprice a name.
- Lowercase only, so lookalikes with capital letters can't exist.
- Tested: rules, refunds, expiry, grace and re-registration. Not audited.
Contract
| Moniker names | Published at launch |
| Treasury | - |
Elysium, chain id 99901.