Protocol

MORID Names

Testnet coins are worth nothing. The name rules are the same on testnet and on mainnet.

A MORID is a short on-chain name, like a handle. It belongs to your key: nobody can take it away, because there is no administrator. People can message you and send you coins by your name. A name is optional: messaging and transfers work without one.

Which names you can take

  • Lowercase Latin letters a-z, digits 0-9, hyphen - and underscore _.
  • 2 to 32 characters long. One-character names are reserved.
  • No capital letters and no other alphabets: a name is stored exactly as you typed it.
  • One name, one record on chain: whose key it is, when it was registered, how many operations it has seen and which address is bound to it.

Registration in two steps

Registration is designed so that nobody can snatch your request.

  • Step 1 — the commitment. An MNCM record goes on chain with a hash of the name, your key and a random number. The name itself is not visible in it.
  • Step 2 — the reveal. No sooner than 6 blocks later, a record with the name, the key and the same random number is written. The transaction proves the key is yours.

Anyone who spots the reveal in the transaction queue cannot get ahead of you: they have no commitment recorded 6 blocks earlier. A commitment never expires. At most 32 reveals fit in one block.

You can register a name from the messenger. The app obtains the current price from the gateway and does not create the transaction if it cannot retrieve that price.

What a name costs

A network formula sets the price, not a person. It depends on the name's length and on demand for names of that length. The table gives prices for the first era: the first four years, up to the first halving.

Name length First-era price without the demand surcharge Renewal per year
7 characters or more 100 XMOR 25 XMOR
6 characters 200 XMOR 50 XMOR
5 characters 400 XMOR 100 XMOR
4 characters 800 XMOR 200 XMOR
3 characters 1,600 XMOR 400 XMOR
2 characters 3,200 XMOR 800 XMOR

The base price is the era's block reward divided by 25: 100 XMOR in the first era, and it halves along with the reward at every halving. Each character shorter doubles the price.

The demand surcharge. Each length tier has its own target — how many registrations a day count as normal: 1 for two characters, 2 for three, 5 for four, 15 for five, 45 for six, 150 for seven or more. A day is the 1,440-block price epoch. The price multiplier changes according to registrations relative to the target. It can change by at most 50% per epoch and stays between 1 and 64.

Where the money goes. 20% goes to the block's miner as a fee, 80% to the relay pool — the operators who deliver messages.

How the price responds to demand

If names of one length are taken at the same rate every day, after 30 days the price will be:

Name length No demand 5 registrations a day 50 registrations a day
7 characters or more 100 XMOR 100 XMOR 100 XMOR
6 characters 200 XMOR 200 XMOR 4,714.96 XMOR
5 characters 400 XMOR 400 XMOR 25,600 XMOR
4 characters 800 XMOR 800 XMOR 51,200 XMOR
3 characters 1,600 XMOR 102,400 XMOR 102,400 XMOR
2 characters 3,200 XMOR 204,800 XMOR 204,800 XMOR

With the maximum increase every day, the 64× ceiling is reached on day 11; smaller increases take longer. Demand below the target reduces the multiplier, but never below 1. Renewal fees do not depend on demand.

Term and renewal

  • Name term — 525,600 blocks, about a year.
  • Renewal — one transaction a year. It costs a quarter of the tier's base price without the demand surcharge, and never less than 1 XMOR.
  • Grace period — for 43,200 blocks (30 days) after expiry the name is still yours and can be renewed.
  • After the grace period the name is released. Re-registration is a Dutch auction: the price starts at 16 times the normal price and comes down to the normal price over 20,160 blocks (about two weeks).

Renewal is not there to raise money. For a user it is one operation a year; for someone who bought up a thousand names it is a thousand payments every year.

Short names

Names of 2–4 characters are locked for 262,800 blocks (about half a year) after names switch on in the network. Then each one goes through a Dutch auction starting at 16 times the price. That way the most valuable names do not go to whoever launched a bot first.

Transfer and sale

You can give a name away or sell it. To the network these are the same operation — a MORID v3 record with the new owner's key. Both sides sign the transaction: the current owner and the new one, each with their own key and each over the whole transaction.

The network does not check whether the buyer paid. But because both sides sign the whole transaction, the payment and the transfer can go into a single transaction: either both go through or neither does. You cannot transfer a name to yourself.

Name and address

A name's owner can bind a unified address to it — a MORID v4 record. It always contains a private Sapling receiver (Sapling is the private-transfer scheme from Zcash) and may contain a public one. Whoever pays by name can see where you are willing to receive money.

Proving a name

Once per epoch (10,080 blocks) the network writes an MNST commitment into a block — a Merkle root over every name, one hash that sums up all of them. It includes each name's expiry, so it can prove that a name exists, that it does not exist, and that it has expired. The RPC command getmnstproof returns the proof.

Reserved and forbidden names

The list is part of the network rules. It can be changed only by a new node version, so it is deliberately broad: an honest user loses nothing important, while a fake "support" or "exchange" would cost people money.

Project names. morana, xmor, mor, morana-network, morana-wallet, morana-messenger — and in general any name starting with morana or xmor, plus exactly mor — can be registered only by the project's key. The price is the normal one, with no lock and no auction; once registered, it is an ordinary record that can be transferred.

Forbidden to everyone — 520 names in nine groups:

Group Names Examples
Roles and authority 87 admin, support, official, security, moderator
Network infrastructure 74 wallet, relay, pool, faucet, exchange
Protocol records and service screens 39 morid, sapling, kawpow, login, settings
System and service words 55 null, test, download, localhost, www
Coins and tokens 110 bitcoin, btc, monero, zcash, usdt
Exchanges 36 binance, kraken, coinbase, okx
Wallets and devices 31 ledger, trezor, electrum, metamask
Messengers and social networks 41 telegram, signal, whatsapp, matrix
Payments, large companies and services 47 paypal, visa, google, apple

How names are compared. Variants are caught by a rule, not by listing them:

  • - and _ are removed, digits that look like letters are replaced by letters (0→o, 1→l, 3→e, 4→a, 5→s, 7→t, 8→b), and a trailing run of digits is dropped. If the result is a forbidden name, it is refused. That stops "admin1", "adm1n", "sup-port" and "b1nance".
  • The name is split into parts at - and _. If any part, after the same replacements, is one of the 15 impersonation words, it is refused. They include admin, support, official, staff, team, verified, security, help, service, bot, police, legal, morana, xmor. That stops anton-support, real_admin, morana-team.
  • For every other forbidden word, brands and tickers included, only an exact match counts, so honest names such as node-runner or my-link are not locked out.

Short tickers and names of 2–4 characters that are not on the list are still covered by the short-name lock and go through the auction.

Exact record formats are in the technical canon, §5. The economics of name fees are on the Relay Economics page.