Bitcoin Name System

At a Glance
BNS is the live naming system on Stacks
Human-readable names like
alice.idormuneeb.btcmap to on-chain dataNames are SIP-009 compliant NFTs: transferable, tradeable, composable
Built-in marketplace for listing, buying, and selling names
Supports both open (unmanaged) and governed (managed) namespaces
Each address can own multiple names and designate a primary name
Fully implemented as Clarity smart contracts
The current BNS implementation uses the BNS V2 contract, deployed in September 2024. It succeeded the V1 contract from Stacks mainnet launch in 2021.
What is BNS?
The Bitcoin Name System (BNS) is a decentralized naming system built on Stacks and secured by Bitcoin. It enables human-readable names (e.g., alice.id) that map to on-chain identities, addresses, and arbitrary records.
Bitcoin Name Service (BNS) is a decentralized identity protocol that originally started on Bitcoin as Namecoin in 2014 before migrating to Bitcoin in 2015, and eventually Stacks when its mainnet launched in 2021.
That means BNS predates ENS by multiple years!
BNS is represented by the popular .btc namespace but has many others including .id, .locker, .app and more. Anyone can create a new namespace and have users register names within that. Currently there are 97 namespaces and over 360,000 names registered on BNS [as of March 2026]!
.btc
302,999
.stx
21,861
.app
12,445
.id
12,053
.stacks
3,961
The benefit of a BNS name is simple: Rather than sending crypto to a long STX or BTC address, you can use a human-readable name like muneeb.btc instead.
BNS names are compatible with Stacks wallets like Leather and Xverse and support both Stacks L2 and Bitcoin L1 for payments.
BNS replaces complex blockchain addresses with names that:
Can resolve to Stacks principals
Can store structured metadata
Names can store zonefiles containing profile data (bio, PFP, social links), wallet addresses across chains (BTC, ETH, etc.), subdomain definitions, and arbitrary key-value metadata. All stored on-chain via the zonefile-resolver contract.
Can integrate directly with smart contracts
Are owned and managed entirely on-chain
Stacks currently runs BNSv2, an upgraded implementation designed for improved composability, clarity, and developer ergonomics. It allows users to register, manage, and transfer names within different namespaces. It also introduces a native marketplace, managed namespaces with custom governance, multi-name ownership per address, primary name designation, and on-chain zonefile storage decoupled from the main contract.
Additional Resources
[BNSv2 Official] Official BNSv2 site
[BNS One] Register, trade, discover BNS namespaces and names
[Trust Machines Github] BNSv2 contracts repository
[Stacks Forum] Previous upgrade discussion thread
[BNSv1] The previous BNSv1 implementation boot contract
[BNS Community] Twitter community page for all things BNS
[Gamma] Marketplace for trading BNS
[BTC US] Register BNS names
Last updated
Was this helpful?