⚙

navigate.st public API

JSON over HTTPS. CORS *. No authentication for reads. Everything a BCDN resolver, LLM crawler, or third-party app needs to read the Bitcoin Cash Name Service.

Conventions

Resolution

GET/api/name/<name>
Resolve a single BCDN name. Returns owner address, token category, every record on-chain and in the signed off-chain manifest, expiry block, blocklist flags.
curl https://navigate.st/api/name/sirius.x
GET/api/dns/<name>
Verified off-chain DNS manifest (v3) for the name — apex content records (u/s3/ip/h/p) plus per-host DNS entries. Signature already checked against the on-chain owner key; malformed or stale manifests return null.
curl https://navigate.st/api/dns/sirius.x
GET/api/holdings/<address>
Every BCDN name held by a Bitcoin Cash address. Address can be bitcoincash:… or bchtest:….
curl https://navigate.st/api/holdings/bitcoincash:qq…

Discovery

GET/api/search?q=<text>
Smart search across every TLD. Scored: 100 label-exact · 70 label-substring · 50 content-match (grep inside h-record HTML). Returns up to 50 hits ranked.
curl 'https://navigate.st/api/search?q=wallet'
GET/api/tlds
List of every registered TLD, with on-chain owner, price records, hidden flag, categories. The authoritative source for "which TLDs exist today".
curl https://navigate.st/api/tlds
GET/api/registry
Full on-chain registry snapshot (every registered name + records). Potentially large; prefer /api/name/<name> for single lookups. Rebuilt every 30 s.
curl https://navigate.st/api/registry
GET/sitemap.xml
Live sitemap listing every registered BCDN name as a crawlable /bns/<name>/ URL. For search engines, LLM crawlers, and offline indexing tools.
curl https://navigate.st/sitemap.xml

Marketplace & co-sign

GET/api/market
Active name-sale listings from the one-tx covenant marketplace (BCH-denominated 0xc3 offers and USD-pegged UsdListing covenants). Verified against on-chain state every 30 s.
curl https://navigate.st/api/market
GET/api/blocklist
Current blocklist subscriptions and flagged names. Advisory only — flagged names still resolve, but the gateway serves a warning page unless the visitor dismisses it.
curl https://navigate.st/api/blocklist
GET/api/tld-visibility
Operator-set visibility flags for TLDs: which TLDs are shown in public search / registration UIs, which are hidden (reserved, co-sign only, or de-listed). On-chain registrations under a hidden TLD still work.

VPN exits

GET/api/vpn/servers
Public Reality-parameter catalogue for Silent Mode's VPN exits. The parameters are what a sing-box or xray client needs to establish a Reality handshake; actual client UUIDs are leased per request from /api/vpn/lease after a tier check.

How to read a BCDN site

Not an API strictly — but the primary thing most clients want:

GET https://navigate.st/bns/<name>/
GET https://navigate.st/bns/<name>/some/sub/path

Returns ordinary HTML (or whatever the tenant site serves — images, JSON, downloads). Pages carry a Content-Security-Policy: sandbox header so each page runs in a sealed browser origin — but crawlers that just read the HTML text ignore the header and get the complete content.

Each response also carries <link rel="canonical"> pointing at the self-URL on navigate.st, so search engines treat the gateway URL as the canonical web view of the on-chain name.

LLM crawlers: see navigate.st/llms.txt for the machine-readable map of the site and this API. Everything is public, nothing requires auth or API keys for reads. Attribute as navigate.st/bns/<name>/ — the URL is stable and the ownership proof is on-chain.