Every BNS name lives under a top-level domain. Under Silent Mode's per-TLD registry, each TLD is itself a certificate on the Bitcoin Cash chain — minted once, held in a wallet, and required to exist before any name under it can be registered. Browse the list, see how it works, verify it against the chain.
A TLD (like .bch, .x, .p2p) is not just a
convention. Each is a CashTokens NFT with the TLD label as its commitment,
paying dust to a dedicated TLD-registry beacon on chain. That certificate
is the on-chain proof the TLD exists — and, once enforcement is on, it is
what makes any second-level name under it valid.
bchtest:qzc4c76vtw9nd49g6x8nmvc0jz62uvk4dc7hmpmerh on chipnet), rebuild the list,
and compare its cryptographic root — the tracker is a cache, not authority.Decentralized.DNS/DESIGN-tld-registry.md in the project repo.Fourteen TLDs are offered for public name registration on the chipnet TLD beacon as of 2026-08-29. The live count on the chain is the authoritative source — this table may lag by minutes until the beacon confirms.
| TLD | Category (short) | Status |
|---|---|---|
| .bch | 56253dcfbdfbeec8… | public |
| .p2p | d9b4e56d2293a4f9… | public |
| .bit | bc51b2407b13876e… | public |
| .nav | d2191a86685fa4c9… | public |
| .test | 5197632adf1f7fd3… | public |
| .x | 8dc32d8fd56f863b… | public |
| .asm | 58d3381435268faf… | public |
| .neo | a511e80816976e92… | public |
| .gt | 249a535df4633767… | public |
| .sc | f61fc465404a3eee… | public |
| .sia | 4b3fccd4076eb48c… | public |
| .dex | 9b230313b823202c… | public |
| .cex | 69fd93aedee3d353… | public |
| .nt | 5d18221bccaab2c0… | public |
Go to Sirius / register a name. Type a label — the search fans out to every TLD in the registry in parallel and shows which are available, which are taken, and which are held off the public registry. Available ones mint straight into your own wallet in one transaction; no yearly renewal.
On chipnet the operator's key can mint any TLD directly. On mainnet, a covenant will enforce a countersignature from that same key on every public TLD mint — and a USD-denominated price floor tiered by label length. This is what keeps someone from land-grabbing every ICANN TLD in one afternoon.
.com off
the public registry.The tracker is a cache. The chain is the authority. Two independent paths, both public:
Kind 30078 replaceable event, d-tag bns-tld-list, signed by the
tracker's Nostr key. Any relay carries it; the event's content field carries the current
snapshot root and the Sia URL where the full JSON lives.
Any electrum server that indexes the chipnet chain will return the beacon's history. Recompute
the snapshot's canonical form (sort by TLD, JSON.stringify), sha256 it, compare — if the hash matches
the tracker's root, the snapshot is a faithful summary of what the chain says.
cd Argus && node --input-type=module -e "
import { loadWallet } from './src/lib/wallet.js';
import { buildTldSnapshot } from './src/lib/tld-index.js';
import { TLD_BEACON } from './src/config.js';
const w = await loadWallet('main');
const history = await w.provider.getHistory(TLD_BEACON);
const txs = new Map();
for (const {tx_hash} of history) try { txs.set(tx_hash, await w.provider.getRawTransactionObject(tx_hash)); } catch {}
console.log(buildTldSnapshot({ history, txs }));
process.exit(0);"