Namespace bidding is already a hot topic on EOS. Are users able to snag themselves a custom vanity account name, or bid on a high level domain name such as .com or .eos? Let’s discuss what you need to know to get the coolest account name on EOS.

Namespace Bidding Basic Rules

On the EOS mainnet, account names are limited to 3 criteria by default. They must contain exactly 12 characters, consisting only of lowercase letters a through z, and numbers 1 through 5. Block.one introduced the idea of namespace purchasing for vanity names which will be released through an auction system.

As an EOS member, you will be able to bid on a namespace. We’ll attach an example to this to make following along easier. My name is Josh, and rather than creating an account `joshacbdefgh` (which is 12 characters) I would prefer to have an account that is just `josh`. This will make it easier when giving out my account name for someone to send me a transfer.

If I hold the highest bid of all auctions for that day, I will be granted this namespace. This now offers me the ability to also create any other accounts within the `.josh` namespace. An example would be that I could create `eos.josh`, or `canada.josh`, or `vote.josh`. And if another person in the world was named Josh Smith, I could create for them `smith.josh` if they wanted that account name. The new name would still be limited to a maximum of 12 characters, including the `.` and would only have the minimum of a single character.

Users who win the namespace auction could even sell off the underlying names that fall within their namespace. So in the above example, I could request 10 EOS, or 1 EOS, or 100 EOS, from Josh Smith to create him that vanity account name.

Once someone takes control of a name under my namespace, they own that account in full. I am able to attach a permission to that account if I chose, but this should be clear and apparent before the account is created. This is useful if a business wanted to own the namespace `.corp` and wanted to created `ceo.corp` and `dev.corp` and will need to retain control over these accounts.

How Can I Bid on an EOS Namespace?

So now that we understand what we are bidding on, let’s work on understanding the mechanics of the system. Anyone can bid on any namespace they would like. Only a single namespace will be released per day though. It will be the namespace with the highest bid of ALL the namespaces.

If you hold the highest bid for ‘com’ at 700 EOS, and someone holds the highest bid for ‘edu’ at 800 EOS, only ‘edu’ will be released on that day. If on the next day, your bid of 700 EOS is the highest amount bid for any namespace, it will be released to you.

More of the Bidding Rules

To place a bid on a namespace, you must bid at least 10% more than the previous highest bidder. If your bid gets outbid, your bid amount will become unlocked and refunded back to you.

Within `cleos` this is the command for bidding:

bidname( account_name bidder, account_name desired, asset bid )

For the namespace to be awarded, there is a 24-hour period starting when the highest bid was placed on a namespace. This means that if the highest bid name has had a new bid within the last 24 hours, no names will be awarded on this day.

One thing to note, is that there is currently a waiting period before namespace auctions will start to be rewarded. The beginning of this 14-day period was June 20, at 10:44:52 UTC due to a bug that had to be patched that was causing the start time to constantly reset.

GenerEOS has a page dedicated to this in their toolkit, where you can see the current list of namespaces being bid on, as well as all of the bid amounts. From there, you can judge whether or not it is worth it to lock up a bid for a namespace, depending on how much you are willing to spend.

In conclusion, users should remember that currently only 1 name per day will be rewarded, and it will be a slow process to unlock names that aren’t highly sought after.

If you’d like to look through some of the source code that deals with namespace bidding, you can start with: