Skip to content

Add bsv namespace (BSV Blockchain) - #190

Open
sirdeggen wants to merge 2 commits into
ChainAgnostic:mainfrom
sirdeggen:bsv-namespace
Open

Add bsv namespace (BSV Blockchain)#190
sirdeggen wants to merge 2 commits into
ChainAgnostic:mainfrom
sirdeggen:bsv-namespace

Conversation

@sirdeggen

@sirdeggen sirdeggen commented Jul 16, 2026

Copy link
Copy Markdown

Summary

Adds a new namespace, bsv, for the BSV Blockchain, with a complete README.md and CAIP-2 profile. Registers four Chain IDs:

  • bsv:mainnet — BSV main network
  • bsv:testnet — BSV public test network
  • bsv:ttn — Teranode Test Net (public Teranode scaling test network / Teratestnet)
  • bsv:tstn — Teranode Scaling Test Net (private, per-deployment scaling test network)

Approach and rationale

BSV descends from the original Bitcoin protocol and shares Satoshi's genesis block with BTC and BCH. I want to be upfront that bip122 can represent BSV: it disambiguates forks by the first post-fork block hash (as it does for Bitcoin Cash, bip122:000000000000000000651ef99cb9fcbe), and a BSV entry could be built the same way from its fork block.

This namespace uses the human-readable network name as the CAIP-2 reference instead, following the casper precedent (a Chain ID that "should not be confused with the genesis_hash"). The reason is that the BSV application layer — BRC-100 wallets, overlay services, ARC broadcasters, SPV clients — universally identifies a network by name, never by fork-block hash. A BRC-100 wallet self-reports via getNetworkmainnet/testnet (and ttn/tstn on Teranode deployments); SV Node's getblockchaininfo.chain returns main/test. Cross-chain tooling (e.g. the x402 payment protocol, CAIP-10/CAIP-19 references) can then map directly onto identifiers applications already exchange without a full-node round-trip. The two schemes can coexist — a hash-based bip122 BSV entry and this name-based one occupy different namespaces.

ttn and tstn are registered up front so high-throughput payment protocols can target Teranode test environments without overloading bsv:testnet or inventing ad-hoc names that later need client migration. Clients MUST NOT treat a genesis-only bip122 identifier as a BSV network — that reference is ambiguous across the BTC/BCH/BSV split.

Resolution mechanics, syntax (bsv:(mainnet|testnet|ttn|tstn)), and test cases are in bsv/caip2.md.

Context

This registration supports adding BSV as a payment mechanism to the x402 protocol, where the design discussion for these identifiers is ongoing. Happy to adjust the reference scheme (including moving to bip122) based on editor guidance.

Author: @sirdeggen (BSV Association).

Registers bsv:mainnet and bsv:testnet, identifying BSV networks by
human-readable network name (mirroring BRC-100 getNetwork and SV Node
getblockchaininfo.chain), following the casper precedent of a Chain ID
distinct from the genesis hash. Rationale acknowledges that bip122 can
represent BSV via its fork-block hash.
Register Teranode Test Net (ttn) and Teranode Scaling Test Net (tstn)
alongside mainnet and testnet so payment tooling can target Teranode
environments without overloading bsv:testnet. Document that bip122
genesis-only identifiers are ambiguous for BSV and must not be used.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant