Home for decentralized domain names on the Bitcoin Cash chain. Names that live as CashTokens certificates in a wallet you control, discovered through a public beacon address any electrum server can read. No registrar, no ICANN, no DNS root — resolvers read the chain directly. Named for the brightest star: a fixed reference everyone sees the same way.
Sirius.X is the sovereign registrar site, served from its own name.
Mirror: silentmode.st/sirius-x/ ·
gateway: navigate.st/bns/sirius.x/ ·
native with a resolver: https://sirius.x/
A minimal Namecoin-style name protocol on Bitcoin Cash. No fork, no sidechain, no new blockchain — three ordinary mechanisms of BCH doing three different jobs.
An immutable NFT whose commitment is the UTF-8 name. Whoever holds the certificate owns the name. Consensus guarantees nobody can mint another output in the same category without spending it.
A tiny JSON payload prefixed BNS1 — the name's
records (URL, inline HTML page, IPv4, cashaddr, Sia bucket, TLS
fingerprint). Total budget: ≤ 200 bytes.
Every protocol transaction pays 600 sat to a
well-known beacon address. Calling get_history
on that address enumerates every registration and update ever made — no
indexer to trust, no server between you and the answer.
Seven record types cover the space between "point at any URL" and
"the whole website lives in this transaction". Records travel in the same
OP_RETURN as the name itself; the total payload stays
inside 200 bytes.
| Record | What it holds | Used for |
|---|---|---|
u | An HTTPS URL | Redirect the name at any existing site |
h | Inline HTML | A tiny website served entirely from the transaction — no host, anywhere |
a | A cashaddr | Payments — the "send to alice.bch" use case |
ip | IPv4 address | Point DNS directly at a server you run for the name |
p | An upstream URL | Reverse-proxy an existing site — address bar stays on the BNS name |
s3 | bucket/key or bucket/prefix/ |
A full multi-file site on the Sia storage network |
tls | SHA-256 of the DER certificate | Pin your server's TLS cert so nobody can MITM the connection |
[a-z0-9-]{1,32}. Any TLD you like —
the chain decides what exists, not a committee. Search availability on the
Sirius.X registration page.BNS1-prefixed OP_RETURN, and pays 600 sat to the
beacon so every resolver can find it. First valid REG
wins.Registration is a normal Bitcoin Cash transaction shape with a small protocol twist: the certificate's identity is derived from the outpoint spent at input 0, so the buyer must choose the coin, not the wallet. Any wallet that can build a transaction to that spec works.
Generated in your browser, seed encrypted with PBKDF2 → AES-GCM in
localStorage, never transmitted. The registration
page can search, quote, sign and broadcast in one flow. Self-custody
throughout — the registrar never touches the certificate.
Pairs the registration page with an external wallet over NIP-17 gift-wrap messages — pass-through signing, so the dApp builds the exact transaction and the wallet's key just signs. Currently: Cashonize v0.9+ on chipnet.
Wallet-orchestrated, not pass-through — the wallet auto-selects UTXOs. That
collides with the genesis-input rule that fixes the certificate's identity
to a specific coin. May return once its bch_executeAction
model ships.
BNS on BCH is deliberately TLD-agnostic — the rightmost label is the registry. There is no pre-existing root; the first registration under a new suffix is what makes that TLD exist. Below is the working set as of today.
| TLD | Note |
|---|---|
.bch | The original TLD; bare on-chain names default to it |
.p2p | Peer-to-peer software and services |
.deviant | The Deviant division's namespace (Silent Mode's parent house) |
.bit | Namecoin's legacy TLD, brought under BNS |
These are actually registered on chipnet, right now, resolving through the relay and every Silent Mode client. Each demonstrates one record type from the list above.
| Name | Backing record |
|---|---|
hello.bch |
h — a page inside the transaction itself |
silentmode.bch |
h — this project's own on-chain demo |
coinspectrum.bch |
ip · p · tls — a full site on an ordinary server, pinned by TLS fingerprint |
coinspectrum.deviant.bch |
s3 — a full multi-file site on the Sia storage network |
siatest.bch |
s3 — earlier Sia test |
argo.bch |
h — the future hosting-pact brand |
theseus.bch |
h — the browser's brand page |
demo.p2p |
Multi-TLD proof — same chain, different rightmost label |
| What you get | Ordinary registrar | Sirius |
|---|---|---|
| How ownership is proven | A row in the registry's database | A CashTokens NFT in your wallet |
| Who can revoke it | The registrar, the registry, ICANN, a court order to any of them | Nobody — the certificate is an immutable NFT |
| Renewal | Yearly — miss it and the name is auctioned | Never on chipnet BNS1; mainnet BNS2 will have a lifecycle (below) |
| Cost per registration | $8 – $30 / year, forever | Chipnet: worthless test coins. Mainnet BNS2 target: ~$10–20 to register & renew |
| Identity required | Email, sometimes phone, sometimes address, always payment method | A wallet — no email, no phone, no card, no KYC |
| DNS resolution | ICANN → TLD registry → registrar's nameservers → you | Any electrum server reads the chain; your resolver does the rest |
| Web presence | Depends on a hosting provider that can suspend you | Point h at inline HTML, s3 at Sia, or ip/p at any server you run |
BNS1 is the chipnet prototype. The mainnet version, BNS2, adds two
consensus-enforced pieces the prototype leaves as indexer policy. Both are
designed on paper — the specs live in
Decentralized.DNS/ — and both wait on the mainnet cutover.
Certificates live in a CashScript covenant that enforces one certificate per name at consensus, not by indexer agreement. Same covenant enforces a lifecycle: ACTIVE → (6–12 months) IDLE → OPEN. The owner's option to reclaim during IDLE is 50–100× cheaper than a stranger's takeover, so the grace period is real: a takeover only ever happens when the owner is genuinely gone.
CMT op)A front-running defence. Publish a hash of your name first (with a 16-byte salt), reveal the name later; the reveal that points at the oldest valid commit wins. An attacker who sees the reveal cannot produce an older commit, because blocks are already written.
Scan-to-sign registration for airgapped SPV wallets: the site builds an unsigned transaction, the wallet signs it on a separate device via QR, the buyer broadcasts. No relay, no connector, no third party at any point.
.bit names registered and
28 in actual use. Names live forever mean the interesting ones get
squatted forever. BNS2's covenant expiry is the design that avoids that trap
without ever letting an active owner lose a name they still use.BNS1 depends on resolvers agreeing that "first valid REG
wins". Consensus does not enforce it yet — that is what the covenant registry
above adds for mainnet.
An observer of the mempool can copy your REG and
race it. Does not matter on chipnet; matters the instant names have value.
The commit-reveal spec above is written; not implemented on chipnet.
BNS1 has no expiry. The covenant registry adds the ACTIVE → IDLE → OPEN lifecycle; BNS1 keeps it flat because the mistake cost on chipnet is zero.
The whole payload including BNS1 prefix and JSON
fits in one OP_RETURN. Enough for URLs, cashaddrs, IPs and Sia keys —
inline HTML (h) is a tiny page, not a full site.
Bigger sites use s3.
Prototype convenience — production would use a keyless constant script so no one can be pressured over the beacon key.
Mainnet migration is a separate transaction and comes after BNS2 lands. All names, coins and mistakes on chipnet are worthless — that is the point of doing it there first.