---
title: "Bitcoin Gold"
description: "Bitcoin's two branches under new version bytes and the btg prefix. Unlike Bitcoin SV, the fork moved its legacy bytes, so no address reads on both chains."
canonical_url: "https://chains.agntn.dev/chains/bitcoingold"
---
# Bitcoin Gold

> Bitcoin's two branches under new version bytes and the btg prefix. Unlike Bitcoin SV, the fork moved its legacy bytes, so no address reads on both chains.

<chain-facts chain="bitcoingold">



</chain-facts>

## Address format

The same two branches as [Bitcoin](https://chains.agntn.dev/chains/bitcoin), with Bitcoin Gold's constants.

**Legacy** `G…` is version `0x26` and `A…` is `0x17`, 25 Base58Check bytes each with the checksum verified. The fork at block 491407 moved both version bytes off Bitcoin's, so a `1…` or `3…` address isn't a Bitcoin Gold address, even though the chains share the history before it. A Dogecoin script address starts with `A` too, but its byte is `0x16`, one lower, and it fails here.

**SegWit** `btg1…` runs the BIP-173 and BIP-350 check under the `btg` prefix: Bech32 for v0, Bech32m for v1 and up, program length, padding, checksum. That's what the node does as well. Its `DecodeDestination` is Bitcoin Core 0.21's with the prefix swapped.

There's no CAIP-2 reference. The genesis block is Bitcoin's, and the BIP-122 namespace lists no fork block for Bitcoin Gold, so the field stays empty.

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

const chain = getChain("btg");
chain.assertAddress("btg1qufmped88t65gh7vn9ftzjwlx9tf5a3en692wvq"); // returned unchanged
chain.bip44; // 156
chain.caip2; // undefined
```

## Spellings

`bitcoingold`, `btg`, `bitcoin-gold`, `Bitcoin Gold`. The key is `bitcoingold`, the rest resolve through `getChain`.


## Sitemap

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