Chains

Bitcoin SV

Base58Check under 0x00 only, 25 bytes. The node reads nothing else, and since Genesis a 3 address can't be paid at all.
create
create("bitcoinsv")
family
UTXO · utxo
symbol
BSV · 8 decimals
bip44
236
caip2
none
explorer
whatsonchain.com

Address format

Base58Check, and only the 1… kind: 25 bytes under version 0x00 with the checksum verified. That's all SV Node decodes: its DecodeDestination reads base58 and nothing else, so there's no CashAddr and no Bech32 to check.

3… addresses are out even though the node still knows their version byte. Since the Genesis upgrade a transaction with a pay-to-script-hash output is rejected as bad-txns-vout-p2sh, so a script-hash address can't receive anything on this chain. Accepting it would be a green light for a payment that never confirms.

The 1… bytes are Bitcoin's own. The same address reads on both chains, and identify names bitcoin and bitcoinsv rather than pretending it can tell them apart. A 3… or bc1… address is Bitcoin's alone.

There's no CAIP-2 reference. The genesis block is Bitcoin's, and the BIP-122 namespace lists a fork block for Bitcoin Cash but none for Bitcoin SV, so the field stays empty instead of carrying a made-up id.

import { getChain } from "@agntn/chains";

const chain = getChain("bsv");
chain.assertAddress("198fZubHNnhsdENHbktQLw96eDMnhZ4xXM"); // returned unchanged
chain.bip44; // 236
chain.caip2; // undefined

Spellings

bitcoinsv, bsv, bitcoin-sv, Bitcoin SV. The key is bitcoinsv, the rest resolve through getChain.

@agntn/chains·MIT license· A format check, not proof an address exists. Nothing on this site talks to a chain.