Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
126 lines (87 sloc) 6.11 KB

Register a domain with a registrar


  • No need to run your own node
  • No need to extend the domain yourself
  • No need to deal with Namecoins directly Disadvantages:
  • Have to trust the registrar
  • You don't own the domain

Register a domain with namecoin

How much does it cost

You can register a .bit domain by buying it with namecoins with the namecoin software. You will be your own registrar by using the namecoin software. The fee consists of two parts: the registration fee plus the transaction fee (as for every transaction).

CommandRegistration CostFeesSummaryNotes
name_new0.01NMCStandard*pre-order a domain, fixed costYou still don't own the domain!
name_firstupdate0NMC (Price Calculator)Standard*register a domain, it becomes public, variable costYou own the domain!
name_update0.00NMCStandard*domain is updated, transfered or renewedReset the expire time to the max
\* Standard fees are 0.005NMC (same rules as bitcoin for tx with no fees). ## 1. Install the namecoin software [Install and configure namecoin](

2. Pre-order a domain name

is your domain without .bit, in lowercase. For internationalized domain names, the IDNA ASCII standard is used, and direct Unicode entries are not supported. Use this online tool to check and convert your domain : Or check if your domain if free with the command line (the command line don't do the conversion) :

./namecoind name_new d/

Start the namecoin software and use the following command :

./namecoind name_new d/

The output will looks like this :

[ "0e0e03510b0b0b7dbba6e301e519693f68062121b29f3cd3a6652c238360d0d0", "9f213ff4a582fd65" ]

This will reserve a name but not make it visible yet (You still don't own the domain!). Make a note of the short hex number (). You will need it for the next step. (Do not shut down namecoind or you will also have to supply the longer hex code just below, just after the short one.) Wait at least 12 blocks, which is generally between 2 hours and 2 days (depending on how active the network is), then update your domain.

If you lose the random number, you can just issue name_new again. You still need to wait 12 blocks before updating your domain.

3. Register your domain to show your web pages

./namecoind name_firstupdate d/ ''

where is the shorter value you got from the previous command where is a JSON-encoded string that contains your nameserver information. Note that your JSON must be enclosed in quotes and escaped properly. See below for examples on how to properly format this string.

If you see this error message:

error: {"code":-1,"message":"previous tx used a different random value"}

try adding the long hex number

./namecoind name_firstupdate d/ ''

4. Other updates

./namecoind name_update d/ ''

Each name_update reset the expire time to it's maximum value. Namecoin software will do this automatically in a future release.

5. Configure your web server

Add your domain on your web hosting server, like you do it for other domains. For example, to host a yourdomain.bit you would add the following virtual host entry to your Apache configuration file.

<VirtualHost *:80> DocumentRoot /www/yourdomain.bit ServerName www.yourdomain.bit </VirtualHost>

Most shared hosts (like Dreamhost, Hostgator, Bluehost, etc) and control panels (like CPanel) have error checking mechanisms that prevent non-traditional TLD's from being added. The best you can do is try to add your .bit domain using the normal domain configuration interface they provide and contact their technical support if this fails.

How to configure your domain

Adapted from :

Values in the name_update command are JSON encoded. Here is a syntax validator that checks your json-value : Check json-value syntax

=> use it to get proper escaping for windows.

Delegate your domain and subdomains to DNS servers:


  • {"ns": ["", "", ""]}

Avoid ip if possible :

  • {"ns": ["", ""]}

=> Full zone control (standard way of managing domains). IP or hostname allowed.

Step required:

  • Add example.bit in the same interface where you added

If you can only add a domain by registering it, you can't use this method. You may use another web hosting provider.

Map all hosts in the domain to one IP address:

  • {"ip":"", "map": {"*": {"ip":""}}}

Example: ./namecoind name_update d/<name> '{"ip":"", "map": {"*": {"ip":""}}}'

=> No custom subdomain : domain.bit and *.domain.bit point to

Step required:

  • Add example.bit in the same interface where you added

If your web hosting provider don't accept unknown TLDs (.bit for example), you must use another provider.

Map hosts in the domain to several IP addresses:

  • {"ip":"", "map": {"demo": {"ip":""}}}

Example: ./namecoind name_update d/<name> '{"ip":"", "map": {"demo": {"ip":""}}}'

=> 1 custom subdomain : demo.domain.bit points to and, domain.bit points to

Do a translation step before delegation:

  • {"translate": "", "ns": ["", ""]}

in which case, foo.example.bit will be translated to before the DNS server will reply.

Now compatible with DNS servers using a recent NamecoinTobind.