---
title: "Bitcoin SV"
description: "Base58Check under 0x00 only, 25 bytes. The node reads nothing else, and since Genesis a 3 address can't be paid at all."
canonical_url: "https://chains.agntn.dev/chains/bitcoinsv"
---
# 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.

<chain-facts chain="bitcoinsv">



</chain-facts>

## 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](https://chains.agntn.dev/guide/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](https://chains.agntn.dev/chains/bitcoincash) but none for Bitcoin SV, so the field stays empty instead of carrying a made-up id.

```ts
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`.


## Sitemap

See the full [sitemap](https://chains.agntn.dev/sitemap.md) for all pages.
