Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions bsv/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
namespace-identifier: bsv
title: BSV Blockchain
author: Deggen (@sirdeggen) <d.kellenschwiler@bsvassociation.org>
status: Draft
type: Informational
created: 2026-07-10
requires: ["CAIP-2"]
---

# Namespace for the BSV Blockchain

BSV is a proof-of-work UTXO blockchain descended from the original Bitcoin protocol.
This namespace identifies BSV networks (mainnet and testnet) by their human-readable
network name, mirroring how BSV wallets and application infrastructure already refer
to the network they operate on.

## Rationale

BSV shares its genesis block with BTC and BCH, all three tracing back to Satoshi's
2009 genesis block. The [bip122][] namespace disambiguates such forks by using the
hash of the first block *after* divergence rather than the genesis hash — Bitcoin Cash,
for example, is registered as `bip122:000000000000000000651ef99cb9fcbe`. A BSV
identifier could in principle be constructed the same way, from BSV's fork block.

This namespace exists for a different reason. The BSV application layer — BRC-100
wallets, overlay services, ARC transaction broadcasters, and SPV clients — universally
identifies a network by a stable human-readable name (`mainnet` / `testnet`), never by
a fork-block hash. A BRC-100 wallet self-reports its network via a `getNetwork` call
returning `mainnet` or `testnet`; SV Node's `getblockchaininfo` returns a `chain` field
of `main` or `test`. A CAIP-2 identifier that mirrors this name lets cross-chain tooling
(payment protocols such as x402, CAIP-10 account references, CAIP-19 asset references)
map directly onto the identifiers applications already exchange, without a full-node RPC
round-trip to recover a fork-block hash. Following the precedent set by the [casper][]
namespace, whose Chain ID "should not be confused with the genesis_hash," this namespace
uses the network name as the CAIP-2 reference.

## Governance

The BSV protocol is stewarded by the [BSV Association][], a Switzerland-based
non-profit that maintains the network's technical standards and the reference node
implementation. Application-layer standards are published through the openly editable
[BRC (Bitcoin Request for Comment)][BRCs] process, which defines wallet interfaces
(BRC-100), key derivation (BRC-42/BRC-43), payment protocols (BRC-29), and transaction
serialization (BRC-62/BRC-95), among others. Changes to this namespace should be
discussed with the BSV Association and the BRC maintainers.

## References

- [BSV Association][] - the non-profit stewarding the BSV protocol and its standards
- [BRCs][] - the Bitcoin Request for Comment repository defining BSV application standards
- [bip122][] - the CAIP-2 namespace for Bitcoin-based networks, which identifies forks by fork-block hash
- [casper][] - a CAIP-2 namespace precedent using a human-readable Chain ID rather than a genesis hash

[BSV Association]: https://www.bsvblockchain.org/
[BRCs]: https://github.com/bitcoin-sv/BRCs
[bip122]: https://namespaces.chainagnostic.org/bip122/README
[casper]: https://namespaces.chainagnostic.org/casper/README

## Copyright
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
120 changes: 120 additions & 0 deletions bsv/caip2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
---
namespace-identifier: bsv-caip2
title: BSV Blockchain - Networks
author: Deggen (@sirdeggen) <d.kellenschwiler@bsvassociation.org>
discussions-to: ["https://github.com/ChainAgnostic/namespaces/pull/190", "https://github.com/bsv-blockchain/x402/pull/1"]
status: Draft
type: Standard
created: 2026-07-10
requires: ["CAIP-2"]
---

# CAIP-2

*For context, see the [CAIP-2][] specification.*

## Introduction

The BSV Chain ID is a human-readable identifier for a BSV network. It is the network
name a BSV node and its client tooling use to describe the chain they operate on —
not the genesis block hash, which BSV shares with BTC and BCH.

## Specification

### Semantics

BSV networks are identified by a stable, well-known network name assigned by the
protocol's reference node implementation (SV Node). Mainnet and testnet are the two
networks in general use; the scaling test network (STN) and regtest exist for testing
and MAY be added to this namespace if cross-chain tooling requires them.

### Syntax

The Chain ID consists of the prefix `bsv:` followed by the network name.

The reference is a case-sensitive string matching the CAIP-2 reference grammar
`[-_a-zA-Z0-9]{1,32}`. This namespace defines two references:

- `mainnet` — the BSV main network
- `testnet` — the BSV test network

A validating regular expression for the fully-qualified Chain ID:

```
bsv:(mainnet|testnet)
```

### Resolution Mechanics

To resolve the network name for a BSV node, send a JSON-RPC `getblockchaininfo`
request; the `chain` field of the result identifies the network. Map the node's
`chain` value to the CAIP-2 reference as follows: `main``mainnet`,
`test``testnet`.

```jsonc
// Request
{
"jsonrpc": "1.0",
"id": 1,
"method": "getblockchaininfo",
"params": []
}

// Response (abridged)
{
"result": {
"chain": "main"
}
}
```

Application-layer clients typically resolve the network without a node round-trip: a
[BRC-100][] wallet returns the network directly from its `getNetwork` call
(`{ "network": "mainnet" }` or `{ "network": "testnet" }`), which maps to the CAIP-2
reference unchanged.

## Rationale

BSV descends from the original Bitcoin protocol and therefore shares Satoshi's genesis
block with BTC and BCH. The [bip122][] namespace addresses this by referencing the hash
of a chain's first post-fork block (as it does for Bitcoin Cash), so a BSV entry under
`bip122` is technically possible. This namespace instead uses the network name because
that is the identifier BSV's wallet and infrastructure layer already exchanges — see the
namespace [README][] for the full rationale. This mirrors the [casper][] namespace, which
likewise uses a human-readable Chain ID distinct from the genesis hash.

### Backwards Compatibility

No prior CAIP or namespace assigns BSV identifiers, so there are no legacy identifiers to
maintain. Tooling that prefers a hash-based identifier can independently register BSV under
[bip122][] using its fork-block hash; the two schemes can coexist without collision because
they occupy different namespaces.

## Test Cases

This is a list of manually composed examples:

```
# BSV Mainnet
bsv:mainnet
# BSV Testnet
bsv:testnet
```

## References

- [BRC-100][] - the BSV wallet-to-application interface, whose `getNetwork` method reports the network name
- [bip122][] - the CAIP-2 namespace for Bitcoin-based networks, which identifies forks by fork-block hash
- [casper][] - a CAIP-2 namespace precedent using a human-readable Chain ID rather than a genesis hash
- [README][] - the BSV namespace README with the full rationale

[CAIP-2]: https://chainagnostic.org/CAIPs/caip-2
[BRC-100]: https://github.com/bitcoin-sv/BRCs/blob/master/wallet/0100.md
[bip122]: https://namespaces.chainagnostic.org/bip122/caip2
[casper]: https://namespaces.chainagnostic.org/casper/caip2
[README]: ./README.md

## Copyright

Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).