Bitcoin Naming Service Comparison: BNS, BIP-353, Lightning Addresses
Compare Bitcoin naming services and human-readable address solutions including BNS, .btc domains, Lightning Addresses, BIP-353, and ENS.
Bitcoin Naming Services Overview
Sending bitcoin to a raw address like bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 is error-prone and hostile to everyday users. Naming services map human-readable identifiers to payment instructions, letting users send funds to something like alice.btc or alice@example.com instead. Several competing approaches exist, each with different trust models, cost structures, and privacy properties.
The following table summarizes the major Bitcoin-compatible naming and addressing solutions available today.
| Service | Format | Underlying Protocol | Registration Cost | Renewal | Bitcoin Support |
|---|---|---|---|---|---|
| BNS (.btc) | name.btc | Stacks blockchain | 2 STX (~$1-3) | Every 5 years (same fee) | On-chain addresses |
| Lightning Address | user@domain | LNURL-pay (LUD-16) | Free (domain required) | Domain renewal only | Lightning invoices |
| BIP-353 | user@domain | DNS TXT + DNSSEC | Free (domain required) | Domain renewal only | On-chain, Lightning, BOLT 12 |
| ENS (.eth) | name.eth | Ethereum smart contracts | $5-640/year + gas | Annual | Multi-coin (BTC address stored) |
| Unstoppable Domains | name.bitcoin, name.crypto | Ethereum/Polygon NFT | $20-100+ one-time | None | Multi-coin (310+ currencies) |
How BNS and .btc Names Work
The Bitcoin Name System (BNS) is a naming protocol built on the Stacks blockchain, which settles transactions on Bitcoin. BNS organizes names into namespaces (like .btc, .stx, and .app), with each namespace defining its own pricing rules and expiration periods. As of early 2026, over 360,000 names have been registered across 97 namespaces, with roughly 303,000 of those under .btc.
The BNS V2 contract, deployed in September 2024, handles name registration, transfer, and renewal. Name prices depend on length, whether the name contains vowels or non-alphabetic characters, and namespace-specific pricing functions. For .btc names, the base registration fee is 2 STX with a 5-year expiration period. After expiration, owners have a grace period of approximately 5,000 Stacks blocks (~34 days) to renew before the name becomes available for anyone to register.
BNS names resolve to on-chain Bitcoin addresses and can store additional data in zone files. However, BNS resolution requires querying the Stacks blockchain or a Stacks API, which limits wallet support compared to DNS-based solutions. Most Bitcoin wallets do not natively resolve .btc names.
How Lightning Addresses Work
A Lightning Address is a human-readable identifier in the format user@domain that resolves to a fresh Lightning invoice each time someone pays it. Specified as LUD-16 within the LNURL protocol suite, it works by converting the address into an HTTPS request to the recipient's domain.
The resolution flow has three steps. First, the sender's wallet splits the address at the @ and sends a GET request to https://domain/.well-known/lnurlp/user. Second, the server responds with an LUD-06 document containing a callback URL, minimum and maximum sendable amounts, and metadata. Third, the wallet requests an invoice for the desired amount from the callback, verifies the amount matches, and pays it through standard Lightning routing.
Lightning Addresses are widely supported: wallets like Phoenix, Breez, Wallet of Satoshi, Strike, and Spark all support sending to them. The tradeoff is that the recipient must operate (or rely on) a web server, and most users get their addresses from custodial providers. For more details on Lightning Address adoption patterns, see our Lightning DNS address analysis.
How BIP-353 DNS Payment Instructions Work
BIP-353, authored by Matt Corallo and Bastien Teinturier and merged into the BIPs repository in June 2024, takes a different approach to human-readable payment names. Instead of requiring a live server to generate invoices, BIP-353 stores payment instructions directly in DNS TXT records secured by DNSSEC.
The TXT record contains a BIP 21 URI that can include an on-chain Bitcoin address, a BOLT 12 offer, a Lightning Address fallback, or any combination. When a wallet looks up user@domain, it queries the DNS record, validates the DNSSEC signature chain, and extracts the payment instructions. Because DNSSEC provides a cryptographic chain of trust from a single root, validation can happen statelessly and even offline once the proof is cached.
Wallet support is growing: Phoenix Wallet (v2.3.3+), Cake Wallet, Sparrow, and Core Lightning all support BIP-353 resolution. LDK-based and Breez SDK-based projects are actively working on integration. For a detailed comparison of BIP-353 versus Lightning Addresses, see our BIP-353 vs LNURL comparison.
ENS and Multi-Chain Naming
The Ethereum Name Service (ENS) is the largest blockchain naming system, with over 2.8 million .eth names registered. While ENS is Ethereum-native, it supports storing Bitcoin addresses (and dozens of other cryptocurrency addresses) within a single name record. Wallets that support ENS, including MetaMask, Rainbow, and Coinbase Wallet, can resolve .eth names to Bitcoin addresses.
ENS charges annual renewal fees that vary by name length: $5 per year for names with 5+ characters, $160 per year for 4-character names, and $640 per year for 3-character names. Ethereum gas fees apply on top of the base registration and renewal costs. If a name is not renewed, it enters a 90-day grace period before being released, at which point a decaying premium is added for new registrants.
Unstoppable Domains offers an alternative model with extensions like .bitcoin, .crypto, and .wallet. Names are minted as NFTs on Ethereum, Polygon, Base, or Solana, and purchased with a one-time fee (typically $20-100+ for standard names) with no renewal required. Unstoppable Domains supports resolution to over 310 cryptocurrencies, including Bitcoin.
Feature and Cost Comparison
The following table compares the practical characteristics of each naming approach across dimensions that matter for developers and users building payment flows.
| Feature | BNS (.btc) | Lightning Address | BIP-353 | ENS (.eth) | Unstoppable Domains |
|---|---|---|---|---|---|
| Decentralized | Yes (Stacks chain) | No (HTTPS server) | Partially (DNS + DNSSEC) | Yes (Ethereum) | Yes (NFT-based) |
| Always-online server | No | Yes | No (DNS cached) | No | No |
| Fresh invoice per payment | No | Yes | Via BOLT 12 offers | No | No |
| Hardware wallet verifiable | No | No | Yes | No | No |
| Bitcoin wallet support | Limited | Wide | Growing | Limited (Ethereum wallets) | Limited |
| Lightning support | No | Native | Yes (BOLT 12, LNURL fallback) | No | No |
| Ongoing cost | ~$0.30-0.60/year | Domain cost only | Domain cost only | $5-640/year + gas | None after purchase |
| Censorship resistance | High | Low (server operator) | Medium (DNS registrar) | High | High |
Privacy Tradeoffs of Human-Readable Addresses
Every naming service introduces privacy tradeoffs compared to sharing raw Bitcoin addresses directly. The core tension: making addresses memorable requires a resolution layer, and that layer can leak information about who is paying whom.
Lightning Addresses have the weakest sender privacy. The sender's wallet makes a direct HTTPS request to the recipient's domain, exposing the sender's IP address to the server operator. A custodial provider operating the LNURL endpoint can observe every payment: amounts, timing, sender IP addresses, and attached comments. Even self-hosted setups expose metadata to whoever operates the HTTPS endpoint.
BIP-353 improves on this by using DNS resolution, which can be performed through privacy-preserving DNS resolvers (DNS over HTTPS or Oblivious HTTP). The sender never connects directly to the recipient's server. Combined with BOLT 12 offers, which use onion-routed invoice requests, BIP-353 can provide strong sender privacy.
BNS and ENS names create a permanent public link between a human-readable name and an on-chain address, which means anyone can look up a name's transaction history. This is the same address reuse problem that affects all static addresses. Solutions like silent payments (BIP-352) can mitigate this for on-chain transactions by deriving unique addresses for each sender.
How Spark Fits Into the Naming Landscape
Spark is a Bitcoin Layer 2 that supports both bitcoin and stablecoins like USDB. Because Spark transactions use a different model than Lightning channels, Spark wallets can receive payments without maintaining channel state or running an always-online server. This makes Spark compatible with DNS-based naming approaches like BIP-353, where static payment instructions in a DNS record can point to a Spark-compatible address or offer.
Spark also supports Lightning Address resolution for receiving payments from the broader Lightning Network. For users who want a single human-readable identifier that works across both Spark and Lightning, Lightning Addresses and BIP-353 names can serve as universal entry points. See our wallet address types comparison for more on how different address formats interact with Layer 2 solutions.
Choosing the Right Naming Solution
The best naming service depends on your use case. For receiving Lightning payments with broad wallet compatibility today, Lightning Addresses remain the most practical choice despite their privacy limitations. For future-proofing payment flows with better privacy and multi-method support, BIP-353 is the strongest standard, though wallet adoption is still catching up.
For establishing a persistent Bitcoin-native identity, BNS .btc names offer low-cost, blockchain-anchored ownership. If you need a single name that resolves across many blockchains and value censorship resistance, ENS or Unstoppable Domains serve that purpose, though their Bitcoin wallet support is limited.
For an in-depth look at how Bitcoin address formats themselves differ, see our Bitcoin address format guide.
Frequently Asked Questions
What is a Bitcoin naming service?
A Bitcoin naming service maps a human-readable identifier (like alice.btc or alice@example.com) to Bitcoin payment instructions such as an on-chain address or a Lightning invoice. This eliminates the need to copy and paste long cryptographic addresses, reducing errors and improving the payment experience. Different services use different resolution mechanisms: blockchain lookups (BNS, ENS), HTTPS requests (Lightning Addresses), or DNS queries (BIP-353).
What is the difference between a Lightning Address and BIP-353?
Both use an user@domain format, but they resolve differently. A Lightning Address requires the recipient's server to be online to generate a fresh invoice via LNURL-pay. BIP-353 stores static payment instructions in a DNS TXT record secured by DNSSEC, so no live server is needed at payment time. BIP-353 also supports multiple payment methods (on-chain, BOLT 12, Lightning) in a single record, while Lightning Addresses only produce Lightning invoices.
How much does it cost to register a .btc name?
The base registration fee for a .btc name on BNS is 2 STX, plus a Stacks transaction fee. At typical STX prices, this works out to roughly $1-3 USD for a 5-year registration period. The cost varies with the STX exchange rate and name characteristics (shorter names or names without vowels may have different pricing under the namespace rules). Renewal costs the same as the initial registration fee.
Can ENS .eth names receive Bitcoin?
Yes. ENS supports multi-coin address records, allowing a single .eth name to store a Bitcoin address alongside Ethereum and other cryptocurrency addresses. However, most Bitcoin-native wallets do not resolve ENS names. The feature is primarily useful within Ethereum-ecosystem wallets like MetaMask, Rainbow, and Coinbase Wallet that have built-in ENS resolution. For a Bitcoin-first workflow, Lightning Addresses or BIP-353 are more practical.
Are Lightning Addresses private?
Lightning Addresses have significant privacy limitations. When a sender pays a Lightning Address, their wallet makes a direct HTTPS request to the recipient's domain, revealing the sender's IP address to the server operator. Custodial providers that host Lightning Addresses can observe payment amounts, timing, and sender metadata. BIP-353 addresses this by using DNS resolution (which can go through privacy-preserving resolvers) combined with BOLT 12 offers for onion-routed invoice requests.
Which wallets support BIP-353?
As of late 2025, Phoenix Wallet (v2.3.3 and later), Cake Wallet, Sparrow Wallet, and Core Lightning support BIP-353 resolution. LDK-based wallets and Breez SDK-based projects are working on integration. Adoption is expanding but remains narrower than Lightning Address support, which is available in most major Lightning wallets.
Do Unstoppable Domains require renewal?
No. Unstoppable Domains names (.bitcoin, .crypto, .wallet, .nft) are minted as NFTs and purchased with a one-time fee. There are no annual renewal costs. Ownership persists as long as you control the wallet holding the NFT. This contrasts with ENS, which requires annual renewals, and BNS, which requires renewal every 5 years.
This tool is for informational purposes only and does not constitute financial advice. Pricing data is approximate and based on publicly available information as of late 2025. Registration costs, wallet support, and protocol specifications change frequently. Always verify current pricing and compatibility on the respective service's official documentation before making decisions.
Build with Spark
Integrate bitcoin, Lightning, and stablecoins into your app with a few lines of code.
Read the docs →
