Bitcoin Name Service (BNS), enables crypto users to link their Web3 wallet to a human-readable, easily-identifiable.btc-domain name, increasing their Bitcoin Web3 user experience.

This guide will explain Bitcoin Name Service (BNS), the.btc extension, and how you can buy a domain ending in.btc.

This is a partner article based on Unchained by Laura Shin, published by CoinDesk.

What is the Bitcoin Name Service (BNNS)?

Bitcoin name service is a decentralized naming data base secured on the Bitcoin Blockchain that provides Web3 usernames registered with Stacks.

BNS is a Web3 phonebook that maps human-readable hostnames such as unchained.btc into cumbersome wallet addresses.

BNS has a similar function to Web2 Domain Name System. It offers an interface for buying, registering, managing, and looking up domain names.

Both systems fulfill a similar need, but they differ in their 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 possess three characteristics: universally distinct; meaningful to humans; and strongly held.

The Bitcoin Name System uses the security and resilience provided by the Bitcoin network in order to provide a seamless experience to Bitcoin users.

What is the.BTC domain?

The.btc is a type of blockchain domain that can be registered on the Bitcoin network and stored as a NFT.

The.btc names are registered via a smart contract in Stacks. Domains are created using Bitcoin’s security and Clarity smart contracting to create a decentralized registry.

The Bitcoin blockchain records ownership of each.btc domain as a hash. Each domain and subdomain of BNS is equipped with Decentralized Identifiers, which are compatible with other systems using DIDs.

The.BTC name is organized in a global hierarchy of three layers: namespaces (namespaces), BNS names (BNS names), and BNS subdomains.

  • Namespaces work similarly to DNS top level domains. They are the names that are at the top of a hierarchy, but anyone can create them.
  • BNS names can be recorded directly on the Blockchain, but their creation is dependent on a namespace that already contains the BNS name.
  • BNS subdomains are stored off-chain, and private keys are separate.

You can register.btc domains through a transaction using the BNS smart contracts on Stacks. The BNS smart contract ensures domains for BNS are synchronized with all other Stacks servers worldwide.

How to buy Bitcoin domains

You’ll first need a wallet which supports.btc, like Hiro Wallet, or Xverse.

STX will be required in your BNS wallet as well to purchase a Bitcoin Domain. New domains are 2 STX. Transaction fees are not included in these costs. You can send STX to your Stacks compatible wallet by buying STX on an exchange.

Here are the steps for buying a Bitcoin Domain;

Find your.btc domain name

Enter the name in the search box on the landing page of You’ll see a pop-up telling you if the name you want is available. It will also tell you the STX rates and the length of time you can have the name (5 years for two STX).

Create an account

You must first create a Stacks account connected to Bitcoin in order to begin the purchase. Log in by connecting your Stacks compatible wallet.

Buy Your Domain Name

After you log in, you’ll be prompted to buy the.btc you selected. You can own the domain five years if you send in 2 STX. A small gas fee will be charged for the transaction. The Bitcoin domain name appears in your Stacks wallet after the transaction has been completed.

On secondary markets, you can buy a used Bitcoin domain. BNS names provide unique web3 identities, making it easier for people to make transactions.