name.genoryn.org

@names, on the chain.

Check any GENORYN username straight from the blockchain. The first valid registration wins, names never expire, and the price is burned — nobody receives it.

// Resolved by the genoryn.io mainnet node · /v1/names
Prices

Burned, not paid.

Every price goes to the network's provably unspendable burn address. There is no registrar and no one to pay — squatting simply has a real, permanent cost.

3–4 characters
1,000 GNR
one-time, burned
5–6 characters
100 GNR
one-time, burned
7+ characters
10 GNR
one-time, burned
Change receiver
1 GNR
per update, burned
Rules

How on-chain names work

Format

3–32 characters: lowercase ASCII letters, digits and underscores, starting with a letter. A leading @ and upper case are accepted and normalized. Reserved: admin, administrator, genoryn, support, security, treasury.

First come, forever

Operations apply in chain order. A registration for an existing name, or one that burns less than the price, has no effect and is not refunded. A registered name never expires and cannot be taken over.

Owned by your seed

The owner is an Ed25519 key derived from your 24-word recovery phrase (GENORYN/username/v1). Restoring the phrase restores control of the name.

One global answer

Every node derives the same name table from the same chain, so there is no outside resolver that could swap an owner. Lookups ask only your own node.

Payments stay private

A name publishes only the address it points to — a separate address of your wallet (index 1), never your main one. Who pays you and how much stays shielded.

No consensus split

Names are derived state, not committed in headers. A registration is an ordinary private transfer, so older nodes accept exactly the same blocks.

Encoding

Inside a registration

A registration is a kind-0 private transfer with one extra output that pays at least the price to the burn address. That output's 512-byte memo carries the signed record:

FieldBytes
Magic GNRNAME\x018
Operation (1 register, 2 update)1
Name length, then name1 + 3…32
Receiver (raw Orchard address)43
Owner Ed25519 public key32
Sequence (0, then previous + 1)4
Ed25519 signature64
Zero paddingrest

The owner signs GENORYN/name-record/v1 ‖ genesis ‖ op ‖ len ‖ name ‖ receiver ‖ owner ‖ sequence, binding the record to one network.

The burn address

Spendable by no one

The burn address belongs to a full viewing key built from public values: ak is a hash-to-curve point (GENORYN-name-burn-v1) whose discrete logarithm nobody knows, and nk/rivk are public hashes. Without that discrete logarithm no spend authorization signature can exist.

Because the viewing key is public, every node decrypts burn outputs and checks them against the on-chain commitment — so the burned value it reads is the value actually committed. The same address receives the mainnet treasury share.

Lookalike names (maxl vs max1) remain a social risk — always check the full name and the address your wallet shows. A reorganization deeper than a registration's confirmations can change which of two competing registrations won.

Legacy note: before on-chain names, each node kept signed bundles in a local registry. It still answers for compatibility (0 local records on this node), but it is not globally unique and new wallets do not register there.