RNS

rules

RNS is a registry on Robinhood Chain and nothing else. It is one contract, it holds no ETH, and it never holds the token — every fee goes from your wallet to the dead address in the same transaction that writes your name down.

a name

One to thirty-two characters, lowercase a-z, digits and hyphens, and it may not start or end with a hyphen. Nothing is normalised for you on chain: the site lowercases and trims what you type and then hashes exactly what it shows you.

The name you claim is stored in clear, and its token id is uint256(keccak256(name)).

what it costs

Per year, every year, decided only by length. It is a frozen constant — there is no function that changes it and no owner who could.

1 character
4,000,000 .HOOD
2 characters
1,000,000 .HOOD
3 characters
250,000 .HOOD
4 characters
60,000 .HOOD
5 characters
20,000 .HOOD
6 characters
8,000 .HOOD
7 characters
4,000 .HOOD
8 to 11
1,500 .HOOD
12 and up
400 .HOOD

All of it is burned to 0x…dEaD. Not to a treasury, not to us: the contract has no withdraw function, is not payable anywhere, and cannot pay anybody anything.

You can buy one to five years at once, and renew up to five years ahead of now. Renewing costs exactly what claiming cost — it never gets more expensive for holding a name a long time, and it never gets cheaper either.

expiry, which is the whole mechanic

  • A term is 365 days from the moment you claim or renew.
  • Inside the last thirty days the site paints the plate amber. Nothing changes on chain — it is a warning, not a state.
  • When the term ends the name stops resolving immediately, and a thirty day grace month starts in which only the old owner may renew it.
  • After the grace month it is free. The first person to claim it gets it, the records are wiped, and the old owner has no claim on it at all.

There is no reminder, no email and no keeper to do it for you. If you want to keep a name, renew it — the roll shows what is running out.

nothing is gated

No allowlist, no auction, no per-wallet cap, no reserved list, no unlock schedule, and no names held back for whoever deployed it. From the block the registry opens it is first transaction wins, at the same burn for everybody, at every length including single characters.

That is on purpose: being early is the only advantage this offers, and the contract does nothing to blunt it. It also means the good names will go quickly, and to whoever is fastest rather than whoever deserves them.

resolving

  • resolve(name) returns where a name points — its owner by default, or wherever the owner set it. An expired name resolves nowhere, grace month or not.
  • primaryOf(address) returns the one name an address resolves back to, if the owner set one, and returns nothing the moment that name lapses or changes hands.
  • textOf(name, key) returns anything the owner stored against the name. Texts are wiped if the name lapses and somebody else claims it.

Nothing else on the chain reads any of this yet, and it would be dishonest to imply otherwise. It is worth exactly what people build on it.

the name as an object

A name is a real ERC-721: transferable, sellable, and with its plate and metadata drawn on chain by the contract itself — no server, no IPFS. When a name changes hands its target resets, so it resolves to whoever holds it until they say otherwise.

The sixteen ticks under every name are the first sixteen nibbles of keccak256(name). Same numbers on the site, in the art and on chain.

what the owner key can do

One thing, once: ignite(token), which wires the token address and opens the registry in the same transaction. After that call the owner key has no callable function in this contract at all.

It cannot claim a name for free, take one, edit a record, change a price, pause anything, upgrade anything, or get a burned token back. There is no function for any of it.

on chain, right now

state
open
names claimed
burned
chain
4663 — Robinhood Chain