Bitcoin Name Service (BNS) enable crypto users to have an easily identifiable, human-readable .btc domain name linked to their web3 wallet, increasing the user-friendliness of their Bitcoin web3 experience. 

This guide looks at Bitcoin Name Service (BNS), how .btc domains work, and how to buy a .btc domain.

What Is the Bitcoin Name Service?

Bitcoin Name Service is a decentralized naming database secured on the Bitcoin blockchain that supplies web3 usernames registered by Stacks

BNS is the web3 phonebook and provides a mapping between human-readable host names such as unchained.btc to cumbersome alphanumerical wallet addresses.

BNS shares a similar purpose to the Web2 Domain Name System (DNS). It provides an interface to buy, register, manage, and look up domain names. 

The two systems may fulfill the same need but differ in structure and architecture. Where DNS depends on centralized servers, BNS runs on peer-to-peer server systems that are secure and censorship-resistant. 

BNS names have three properties: universally unique, human-meaningful, and strongly owned.

The Bitcoin Name System leverages the security and resilience of the Bitcoin network to facilitate a seamless user experience for Bitcoin web3 users within the Stacks ecosystem, allowing users to send and receive STX as well as Stacked-based tokens and NFTs

How Do .BTC Domains Work?

A .btc domain is a specific type of blockchain name registered and stored on the Bitcoin network as an NFT. 

The .btc domains are held on the BNS and registered through a smart contract on Stacks. The domains utilize Bitcoin’s security features and implement Clarity smart contracting language to create a decentralized name registry. 

Ownership of every .btc name is documented on the Bitcoin blockchain as a hash. Every domain and subdomain on BNS has Decentralized Identifiers (DIDs) that provide an eternal identifier for public keys and is compatible with other systems that use DIDs.

.BTC names are organized into a global name hierarchy in three layers; namespaces, BNS names, and BNS subdomains.

  • Namespaces are similar to DNS top-level domains; they are names at the top of the hierarchy that anyone can create but not own. 
  • BNS names are recorded directly on the blockchain, and their creation depends on a namespace containing the BNS name already existing. 
  • BNS subdomain records are stored off-chain and are owned by separate private keys.

You can register .btc names through a transaction with the BNS smart contract on Stacks. The smart contract ensures that BNS domains are synchronized and replicated to all other Stacks nodes worldwide.

How to Buy Bitcoin Domains

Before getting a .btc domain, you’ll need a wallet that supports .btc domains, such as Hiro Wallet or Xverse. 

You will also need STX in your wallet to purchase a Bitcoin domain on BNS. New domains cost 2 STX. These costs don’t include transaction fees. You can buy STX from an exchange and send it to your Stacks-compatible wallet. 

The steps to buying a Bitcoin domain are as follows;

Search for your .btc name

Go to and write the name you want to register in the search bar on the landing page. A pop-up will tell you whether the name is available, the rates you’ll pay in STX, and how long you’ll have it (5 years for 2 STX).

Create an Account

Once you’ve confirmed the name is available, you must create a Bitcoin-connected Stacks account to start the purchase. Connect your Stacks-compatible wallet to the site to log in.

Purchase Your Domain Name

Once you’re logged in, you will get a prompt to purchase the .btc domain you chose. Send in the 2 STX, and you’ll own the domain for five years. The transaction will incur a small gas fee. After the transaction is complete, the Bitcoin domain name will appear in your Stacks wallet.

You can also buy a second-hand Bitcoin domain in secondary marketplaces. BNS names give people unique web3 identities and make it easier to complete transactions without making any errors.