2026-08-31 04:33:09 +02:00
<!doctype html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
< title > theseus.x — the browser that speaks Bitcoin Cash names< / title >
2026-08-31 04:45:50 +02:00
< meta name = "description" content = "Theseus Navigator: a Chromium-based browser with native Bitcoin Cash name resolution built in. No OS-level daemon, no DNS shim, no root-store install. Windows + Android." >
2026-08-31 04:33:09 +02:00
< link rel = "icon" href = "/assets/favicon.svg" type = "image/svg+xml" >
< link rel = "mask-icon" href = "/assets/favicon.svg" color = "#d6ff3d" >
< meta property = "og:type" content = "website" >
< meta property = "og:site_name" content = "theseus.x" >
< meta property = "og:title" content = "theseus.x — the browser that speaks Bitcoin Cash names" >
< meta property = "og:description" content = "Native .bch / BCNR resolution in a Chromium browser. No daemon, no root-store install. Windows + Android." >
< meta property = "og:url" content = "https://theseus.x/" >
< meta property = "og:image" content = "https://theseus.x/assets/logo.svg" >
< meta name = "twitter:card" content = "summary" >
< meta name = "twitter:title" content = "theseus.x — the browser that speaks Bitcoin Cash names" >
< meta name = "twitter:description" content = "Native BCNR resolution in a Chromium browser. No daemon, no root-store install." >
< style >
:root{
--bg:#0b0e14; --panel:#141a24; --panel2:#18202c; --line:rgba(255,255,255,.09);
--ink:#e7eaf1; --mut:#8b98a9; --dim:#5e6678; --acid:#d6ff3d;
--chain:#d6ff3d; --sia:#b39ddb; --srv:#4fd1a5; --ok:#4fd1a5; --warn:#ffc75f;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(1100px 560px at 50% -12%,#16202e,var(--bg));
color:var(--ink);font:16px/1.65 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh}
a{color:var(--acid)}
.wrap{max-width:980px;margin:0 auto;padding:0 1.2rem}
.topnav{position:sticky;top:0;z-index:20;display:flex;gap:2px;align-items:center;flex-wrap:wrap;
padding:10px 1.2rem;background:rgba(11,14,20,.82);backdrop-filter:blur(10px);
border-bottom:1px solid var(--line)}
.topnav .brand{font-weight:600;color:var(--ink);text-decoration:none;margin-right:14px;font-size:15px;letter-spacing:.2px;display:flex;align-items:center;gap:8px}
.topnav .brand .g{color:var(--acid)}
.topnav .brand svg{width:20px;height:20px}
.topnav a{color:var(--mut);text-decoration:none;padding:6px 12px;border-radius:8px;font-size:14px}
.topnav a:hover{color:var(--ink);background:var(--panel)}
.topnav a.here{color:var(--acid);background:rgba(214,255,61,.08)}
.topnav a.get{margin-left:auto;background:rgba(214,255,61,.10);color:var(--acid);font-weight:500}
.topnav a.get:hover{background:rgba(214,255,61,.18)}
header.hero{text-align:center;padding:5rem 1.2rem 1.5rem}
.mark{display:inline-block}
.mark svg{width:80px;height:80px;filter:drop-shadow(0 4px 24px rgba(214,255,61,.18))}
h1{font-size:clamp(2rem,5.5vw,2.9rem);margin:.9rem 0 .3rem;letter-spacing:-.5px}
h1 .g{color:var(--acid)}
.tag{color:var(--mut);font-size:1.05rem;max-width:660px;margin:0 auto}
.cta{margin-top:1.8rem;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;text-decoration:none;padding:11px 20px;border-radius:10px;background:#4b7bec;color:#fff;font-size:14px;border:none;cursor:pointer;font-family:inherit;transition:filter .1s}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}
.btn.acid{background:var(--acid);color:#0b0e14;font-weight:600}
.btn:hover{filter:brightness(1.12)}
section{padding:2.6rem 0;border-top:1px solid var(--line);margin-top:2.5rem}
section:first-of-type{border-top:none;margin-top:1.5rem}
h2{font-size:1.5rem;margin:0 0 .4rem}
h3{font-size:1.1rem;margin:0 0 .35rem}
.lede{color:var(--mut);margin:0 0 1.6rem;max-width:720px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.card h3{margin:0 0 .5rem;display:flex;align-items:center;gap:8px}
.card p{margin:0;color:var(--mut);font-size:14px}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}
.d-chain{background:var(--chain)} .d-sia{background:var(--sia)} .d-srv{background:var(--srv)}
.note{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--acid);
border-radius:10px;padding:14px 18px;color:var(--mut);font-size:14px;margin-top:1.4rem}
.note.warn{border-left-color:var(--warn)}
.note b{color:var(--ink)}
code,.mono{background:#0e131b;border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:13px}
pre{background:#0e131b;border:1px solid var(--line);border-radius:10px;padding:12px 14px;overflow-x:auto;
font-family:ui-monospace,monospace;font-size:12.5px;color:var(--ink);margin:.8rem 0}
/* Downloads: platform cards */
.plats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:1rem}
@media (max-width:720px){.plats{grid-template-columns:1fr}}
.plat{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.plat .lbl{color:var(--acid);font:600 11px/1 system-ui;letter-spacing:.22em;text-transform:uppercase}
.plat h3{margin:.4rem 0 .3rem;font-size:1.15rem}
.plat p{margin:0;color:var(--mut);font-size:13.5px}
.plat .meta{color:var(--dim);font-size:12px;margin-top:.6rem}
.plat .btns{margin-top:.9rem;display:flex;gap:8px;flex-wrap:wrap}
.plat .btns .btn{padding:9px 16px;font-size:13.5px}
.plat .hashes{margin-top:.9rem;padding-top:.7rem;border-top:1px solid var(--line);font-size:11.5px;color:var(--dim)}
.plat .hashes .h{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;margin-top:4px}
.plat .hashes .h b{color:var(--mut);font-weight:600;min-width:70px}
.plat .hashes code{font-family:ui-monospace,monospace;font-size:10.5px;color:#c9d4e3;word-break:break-all;background:transparent;border:none;padding:0}
footer{color:var(--dim);font-size:12.5px;margin:3rem 0 2rem;text-align:center}
footer a{color:var(--mut)}
< / style >
< / head >
< body >
< nav class = "topnav" >
< a class = "brand" href = "/" >
< svg viewBox = "0 0 64 64" aria-hidden = "true" >
< rect width = "64" height = "64" rx = "12" fill = "#0b0e14" / >
2026-08-31 04:45:50 +02:00
< path d = "M32 6 L38 32 L26 32 Z" fill = "#e04e4e" / >
< path d = "M38 32 L32 58 L26 32 Z" fill = "#d6ff3d" / >
2026-08-31 04:33:09 +02:00
< path d = "M6 32 L32 27 L58 32 L32 37 Z" fill = "#d6ff3d" opacity = ".55" / >
< circle cx = "32" cy = "32" r = "3" fill = "#0b0e14" / >
< / svg >
< span > theseus< span class = "g" > .x< / span > < / span >
< / a >
< a href = "#what" > What it is< / a >
< a href = "#features" > Features< / a >
< a href = "#download" > Download< / a >
< a href = "#verify" > Verify< / a >
< a href = "https://sirius.x/" title = "Register a BCNR name" > sirius.x< / a >
< a class = "get" href = "#download" > Get Theseus< / a >
< / nav >
< header class = "hero" >
< div class = "mark" >
< svg viewBox = "0 0 64 64" aria-hidden = "true" >
< rect width = "64" height = "64" rx = "12" fill = "#0b0e14" / >
2026-08-31 04:45:50 +02:00
< path d = "M32 6 L38 32 L26 32 Z" fill = "#e04e4e" / >
< path d = "M38 32 L32 58 L26 32 Z" fill = "#d6ff3d" / >
2026-08-31 04:33:09 +02:00
< path d = "M6 32 L32 27 L58 32 L32 37 Z" fill = "#d6ff3d" opacity = ".55" / >
< circle cx = "32" cy = "32" r = "3" fill = "#0b0e14" / >
< / svg >
< / div >
< h1 > Theseus < span class = "g" > Navigator< / span > < / h1 >
< p class = "tag" > A Chromium-based browser that resolves Bitcoin Cash names on the
device itself. No OS-level daemon, no DNS shim, no root-store install. Type
< code > silentmode.bch< / code > , get the on-chain answer, see which registry &
which storage served it.< / p >
< div class = "cta" >
< a class = "btn acid" href = "#download" > Download for Windows< / a >
< a class = "btn ghost" href = "#download" > Android APK< / a >
< a class = "btn ghost" href = "#what" > How it works< / a >
< / div >
< / header >
< div class = "wrap" >
< section id = "what" >
< h2 > What it is< / h2 >
< p class = "lede" > Theseus is a browser built around the assumption that names should
be resolved by the person using them, not by an intermediary. It ships an
2026-08-31 04:45:50 +02:00
embedded resolver (Ariadne) that watches the Bitcoin Cash chain directly and answers
2026-08-31 04:33:09 +02:00
name lookups locally — the app < i > is< / i > both the browser and the resolver.
Every page carries a badge showing which registry produced the record
(BCNR, ICANN) and which backend served the bytes (on-chain, Sia, direct IP,
or a plain HTTPS fallback).< / p >
< div class = "grid" >
< div class = "card" >
< h3 > < span class = "dot d-chain" > < / span > On-chain first< / h3 >
< p > Every dotted host is asked of BCNR before anything else. If the chain
answers, that answer wins — no matter what any DNS operator says. If
BCNR has no record, Theseus falls through to the clearnet.< / p >
< / div >
< div class = "card" >
< h3 > < span class = "dot d-sia" > < / span > Trust one thing< / h3 >
< p > The app is the trust boundary. No daemon, no root cert, no proxy in the
middle. Uninstall it and BCNR is gone from that machine — nothing lingers
in the OS.< / p >
< / div >
< div class = "card" >
< h3 > < span class = "dot d-srv" > < / span > Warm from the first click< / h3 >
< p > A bundled beacon snapshot loads before the first navigation can fire; a
background delta refresh keeps the index current every 30 s; a Sia
snapshot pull on boot catches long-idle installs up in one HTTP call.< / p >
< / div >
< / div >
< / section >
< section id = "features" >
< h2 > What's inside< / h2 >
< p class = "lede" > Everything a mainstream browser has, plus what the chain enables.< / p >
< div class = "grid" >
< div class = "card" >
< h3 > Native BCNR< / h3 >
< p > Type a name, get the on-chain record. < code > h< / code > serves from the chain,
< code > s3< / code > from Sia storage, < code > ip< / code > direct-connects, < code > u< / code >
redirects. TLS fingerprint pinning against the on-chain < code > tls< / code > record
for < code > ip< / code > hops.< / p >
< / div >
< div class = "card" >
< h3 > window.bcnr API< / h3 >
< p > Every page can call < code > window.bcnr.resolveName(…)< / code > ,
< code > isRegistered(…)< / code > , < code > getBcnrTlds()< / code > , and
< code > getRecordVersion(…)< / code > . dApps don't need to ship their own resolver.< / p >
< / div >
< div class = "card" >
< h3 > Password manager< / h3 >
< p > Local vault, deterministic derivation from a BIP-39 seed. Same seed on a
different device produces the same passwords. Autofill on demand — never
watches the page for you.< / p >
< / div >
< div class = "card" >
< h3 > Tor toggle< / h3 >
< p > One click routes everything through a bundled Tor client — pluggable
transports included for hostile networks. Off by default; nothing is
proxied without your say-so.< / p >
< / div >
< div class = "card" >
< h3 > Anti-fingerprinting< / h3 >
< p > Timezone / locale / language / geolocation can be shown, hidden, spoofed
with a plausible decoy, or set manually. Media-device labels blanked by
default so < code > enumerateDevices< / code > can't leak an audiooutput ID.< / p >
< / div >
< div class = "card" >
< h3 > Privacy by default< / h3 >
< p > Cookies, cache, storage, and history clear on quit unless you opt in.
Camera and microphone denied by default. WebRTC IP policy set to
public-only.< / p >
< / div >
< div class = "card" >
2026-08-31 04:56:11 +02:00
< h3 > System-wide, optional< / h3 >
< p > Theseus's resolver is in-process by default — nothing else on the
machine is touched. The Windows installer offers < b > Ariadne's Thread< / b >
as a recommended-on checkbox: one click also installs a system-wide
resolver so Chrome, Edge, and every other browser resolve BCNR too.
Uninstalling Theseus asks whether to remove it. Skip the checkbox and
Theseus is still fully self-contained.< / p >
2026-08-31 04:33:09 +02:00
< / div >
< div class = "card" >
< h3 > Small, auditable< / h3 >
< p > Under 100 MB, Electron + a few kilobytes of BCNR glue. Source at
< a href = "https://silentmode.st/" > silentmode.st< / a > . Reproducible builds
with < code > SOURCE_DATE_EPOCH< / code > .< / p >
< / div >
< / div >
< / section >
< section id = "download" >
< h2 > Download< / h2 >
< p class = "lede" > Latest is < b > 0.0.9< / b > . Windows installer + portable, and an
Android build (Ariadne mobile — same brand, phone form factor).< / p >
< div class = "plats" >
< div class = "plat" >
< div class = "lbl" > Desktop · Windows 64-bit< / div >
< h3 > Theseus for Windows< / h3 >
< p > Full-window desktop browser with Tor toggle and the multi-source BNS
warm-start.< / p >
Ship Theseus 0.3.10 d9801fe6 (light-mode acid legibility)
Setup d9801fe6a1ea7d54132db36b2c78311cd5c77912618687fb9cf6476ce75a97f9
Portable ff6ea386752fb3ceeb9d5f385258a6f01f7266c2509f4670419ce6e44e24d442
One bundled fix since 0.3.9:
d1f3347 - The brand acid green (#d6ff3d) was ~1.3:1 contrast on
#ffffff / #f6f8fb, so it went nearly invisible any time the user
flipped Settings > Theme to Light. Every chrome page (chrome, home,
settings, error, approval, messages) now overrides --acid to #4d7300
in its prefers-color-scheme: light block — same hue family, ~5.5:1
on white. Also added the missing --acid: #d6ff3d declaration to
chrome.html's :root (was relying on var(--acid, #d6ff3d) fallbacks,
so the light override couldn't bind). Verified live via CDP.
Deployed: scp + sia-upload of both trees. Verified LIVE 0.3.10.
Two background tasks in progress (screenshot extension, Aegis
multiwallet + Tron/Nile) will land in a later release.
2026-09-06 21:19:16 +02:00
< div class = "meta" > v0.3.10 · installer ~118 MB (bundles Ariadne's Thread) · portable ~116 MB · unsigned< / div >
2026-08-31 04:33:09 +02:00
< div class = "btns" >
Ship Theseus 0.3.10 d9801fe6 (light-mode acid legibility)
Setup d9801fe6a1ea7d54132db36b2c78311cd5c77912618687fb9cf6476ce75a97f9
Portable ff6ea386752fb3ceeb9d5f385258a6f01f7266c2509f4670419ce6e44e24d442
One bundled fix since 0.3.9:
d1f3347 - The brand acid green (#d6ff3d) was ~1.3:1 contrast on
#ffffff / #f6f8fb, so it went nearly invisible any time the user
flipped Settings > Theme to Light. Every chrome page (chrome, home,
settings, error, approval, messages) now overrides --acid to #4d7300
in its prefers-color-scheme: light block — same hue family, ~5.5:1
on white. Also added the missing --acid: #d6ff3d declaration to
chrome.html's :root (was relying on var(--acid, #d6ff3d) fallbacks,
so the light override couldn't bind). Verified live via CDP.
Deployed: scp + sia-upload of both trees. Verified LIVE 0.3.10.
Two background tasks in progress (screenshot extension, Aegis
multiwallet + Tron/Nile) will land in a later release.
2026-09-06 21:19:16 +02:00
< a class = "btn acid" href = "https://dl.silentmode.st/TheseusNavigator-Setup-0.3.10.exe" > Installer< / a >
< a class = "btn ghost" href = "https://dl.silentmode.st/TheseusNavigator-0.3.10-portable.exe" > Portable .exe< / a >
2026-08-31 04:33:09 +02:00
< / div >
< div class = "hashes" id = "hashes-win" >
Ship Theseus 0.3.10 d9801fe6 (light-mode acid legibility)
Setup d9801fe6a1ea7d54132db36b2c78311cd5c77912618687fb9cf6476ce75a97f9
Portable ff6ea386752fb3ceeb9d5f385258a6f01f7266c2509f4670419ce6e44e24d442
One bundled fix since 0.3.9:
d1f3347 - The brand acid green (#d6ff3d) was ~1.3:1 contrast on
#ffffff / #f6f8fb, so it went nearly invisible any time the user
flipped Settings > Theme to Light. Every chrome page (chrome, home,
settings, error, approval, messages) now overrides --acid to #4d7300
in its prefers-color-scheme: light block — same hue family, ~5.5:1
on white. Also added the missing --acid: #d6ff3d declaration to
chrome.html's :root (was relying on var(--acid, #d6ff3d) fallbacks,
so the light override couldn't bind). Verified live via CDP.
Deployed: scp + sia-upload of both trees. Verified LIVE 0.3.10.
Two background tasks in progress (screenshot extension, Aegis
multiwallet + Tron/Nile) will land in a later release.
2026-09-06 21:19:16 +02:00
< div class = "h" > < b > Installer< / b > < code > d9801fe6a1ea7d54132db36b2c78311cd5c77912618687fb9cf6476ce75a97f9< / code > < / div >
< div class = "h" > < b > Portable< / b > < code > ff6ea386752fb3ceeb9d5f385258a6f01f7266c2509f4670419ce6e44e24d442< / code > < / div >
2026-08-31 04:33:09 +02:00
< / div >
< / div >
< div class = "plat" >
< div class = "lbl" > Mobile · Android 5.0+ (API 21)< / div >
< h3 > Ariadne for Android< / h3 >
< p > Phone-sized browser with tap-to-verify provenance — the block and
transaction behind each name are one tap away.< / p >
< div class = "meta" > v0.11 · ~124 KB · self-signed release key< / div >
< div class = "btns" >
< a class = "btn acid" href = "https://dl.silentmode.st/ariadne-v0.11.apk" > Download APK< / a >
< / div >
< div class = "hashes" id = "hashes-android" >
< div class = "h" > < b > APK< / b > < code > 03c95832c16cc4763acaadbf328caa7d4bd05fc7c2994f6997a79cc6890bca44< / code > < / div >
< div class = "h" > < b > Signing key< / b > < code > 46ebbbe5dc73148d66410fd0337b1e6683472128c983e8e2578200b9e3ca548c< / code > < / div >
< / div >
< / div >
< / div >
< div class = "note" > < b > Nothing is signed by an authority your device trusts< / b >
— by design. Verify the SHA-256 below before running. The machine-readable
manifest is at
< a href = "https://dl.silentmode.st/releases-manifest.json" > releases-manifest.json< / a > .< / div >
< / section >
< section id = "verify" >
< h2 > Verify what you downloaded< / h2 >
< p class = "lede" > The hashes above are the same ones published at
< a href = "https://silentmode.bch/releases/" > silentmode.bch/releases< / a > (Sia
mirror, name-anchored) and inside the on-chain
< code > releases.silentmode.bch< / code > pointer. Three independent surfaces —
they should all agree.< / p >
< pre > Windows PowerShell:
Get-FileHash TheseusNavigator-Setup-0.0.9.exe -Algorithm SHA256
macOS / Linux:
sha256sum TheseusNavigator-Setup-0.0.9.exe
Expected:
5452a34f211176cf04b7ea77a70fb838f0031b6ea0faed2cd270eae989b20c60< / pre >
< / section >
< footer >
< p > theseus.x is a BCNR name resolving to a Sia-hosted static site.
Source and issues: < a href = "https://silentmode.st/" > silentmode.st< / a > .
Alpha software on a test network.< / p >
< / footer >
< / div >
< / body >
< / html >