sirius.x is the entry point for BCNR — Bitcoin Cash Name Registry. Register a top-level domain, register a name under one, look up records, verify anything against the chain. Backed by Sia storage, mirrored on the operator's VPS, name published on chain — this page survives if any single mirror goes down.
Three things you can do right now. The registrar and TLD-registry UIs live at silentmode.st today; sirius.x is the canonical home and will consolidate them here.
Pick a label, search across every TLD in the registry at once, mint the name certificate straight into your own wallet. A few cents in chain fees, no yearly renewal.
Under the per-TLD registry, a TLD is itself a certificate on the chain. Public mints are operator-gated today; propose one below.
Resolve any BCNR name, compare records across mirrors, and check the TLD registry snapshot against the chain. Everything is publicly verifiable.
The BCNR protocol, the TLD registry, and the wallet/registrar layer — in that order. Everything is user-runnable; nothing here requires trusting a server.
Under the current design, every second-level name lives beneath a TLD whose
certificate exists on chain. No TLD cert → no valid name. The full model, current TLD list, and
verification paths are documented at
silentmode.st/tlds/. Fifteen TLDs
currently minted on chipnet: bch p2p bit nav test x asm neo gt sc sia com dex cex nt
(.com is held by the operator, not offered for public registration).
The buyer's certificate mints straight to a wallet they control, in one transaction that also publishes the initial records and pays the beacon. Nobody, including the operator, can take the name back — the covenant work in progress adds an expiry / reclaim clock but does not change who controls the key.
A registered name carries a small JSON records object. Every record is optional;
multiple can coexist. The gateway picks in order: h (on-chain inline HTML) →
s3 (Sia bucket key) → ip (host header served by an IP) →
u (redirect). Subdomains inherit from their parent with a slight priority tweak
(see record-picker.js).
A tracker publishes signed snapshots of the TLD registry to Sia and Nostr so
downstream clients don't have to walk the chain. The chain is the authority; the tracker is
speed. Every signed snapshot carries a cryptographic root anyone can recompute
locally from the chain — a lying mirror is caught by any recipient that bothers to check.
INSTRUCTIONS.md at the repo
root. The public docs above explain what; the runbook is how.The per-TLD registry means minting a TLD is a real, paid action — not a namespace land-grab. During the alpha, all TLD mints are operator-signed. To propose a TLD, get in touch via the channels below. The design (mainnet) adds an on-chain covenant with countersignature + tiered USD price floors: 1-char $100k, 2-char $50k, 3-char $15k, 4-char $5k, 5–8-char $1k, 9+-char $250; one-time payment (not annual). See the design doc for the full model.
.com, .io, …) are
specifically not open for public mint. They are reserved by the operator to prevent
squatting, and — under the covenant — even a fully-priced request will not be countersigned.
A TLD registry is only useful if it does not immediately collapse into an ICANN-shadow.sirius.x consolidates docs and registration today; three larger pieces are on the roadmap.
Sign in with your BCNR wallet, see every name you own, edit records inline, mint or renew from one place. Same self-custody as today — the portal never handles your keys.
An in-browser site editor for names you already own — the WordPress / Tilda / Wix pattern,
but the whole site persists to Sia and the name's s3 record updates on save.
Sites live where the name says they live.
Forgejo on the VPS with automated Sia backups, so the git remote for BCNR-related repos survives a VPS outage. sirius.x is the canonical URL; the underlying stack is a concurrent-session build.
You do not have to trust that sirius.x is served by anyone specific.
The name's certificate is on the Bitcoin Cash chain; the records point to Sia; every path is
independently checkable.
node --input-type=module -e "
import { loadWallet } from './Argus/src/lib/wallet.js';
import { resolveName } from './Argus/src/lib/bns.js';
const w = await loadWallet('main');
console.log(await resolveName(w.provider, 'sirius.x'));
process.exit(0);"
The operator-signed snapshot of the TLD list is published as a Nostr replaceable event. Any relay carries it; the event's content field carries the current snapshot root.
The same content should be served from at least two independent paths. If one mirror is unavailable, the others still work. If two mirrors disagree, the on-chain record is the tiebreaker.
https://sirius.x/ (requires the local root CA)https://navigate.st/bns/sirius.xhttps://silentmode.st/bns/sirius.xs3 record on sirius.x
names the exact bucket key