Network specification¶
The official protocol constants of the Bitcoin Gold network. This page is curated from the official BTCGPU wiki and the source code in BTCGPU/src/chainparams.cpp.
Source of truth
The reference specification is in the source code at src/chainparams.cpp and protocol constants in src/primitives/. This page summarises it for operators; if a number here conflicts with the code, the code is canonical.
Network magic bytes¶
| Network | Magic (hex) |
|---|---|
| Mainnet | e1 47 6d 44 |
| Testnet | e2 48 6e 45 |
Default ports¶
| Service | Mainnet | Testnet | Signet |
|---|---|---|---|
| P2P | 8338 | 18338 | 38338 |
| RPC | 8332 | 18332 | 38332 |
| ElectrumX (TCP / TLS) | 50001 / 50002 | 50001 / 50002 | |
| ElectrumX WebSocket | 50003 | — |
Do not confuse Bitcoin Gold (BTG) with Bitcoin
Bitcoin Gold does not use Bitcoin's P2P port (8333). If you copy a bitcoin.conf, change port= to 8338 and rpcport= to 8332, or the process will fail to bind.
Protocol version¶
- Protocol version:
70016 - Compact blocks: enabled since
v0.17.1. Nodes do not send or respond toCMPCTBLOCKwhen talking to peers older thanv0.15.0.1.
DNS seeds¶
DNS seeds that currently respond (verified 2026-06-06)
Mainnet:
dnsseed.bitcoingold.dev— hardcoded inbgoldd'schainparams.cpp; resolves to multiple A records.dnsseed.bitcoingold.services— run bybitcoingold.services; not inchainparams.cppbut actively serves the network. Use this if you control the.serviceszone or if you want the highest-availability option.
Testnet v3:
test-dnsseed.bitcoingold.dev— hardcoded inbgoldd'schainparams.cpp.
Most of the DNS seeds bgoldd ships with are currently dead
The vSeeds list in src/chainparams.cpp (auto-generated, last regenerated pre-hijack) still includes these hostnames, but as of 2026-06-06 none of them resolve:
Mainnet (broken):
dnsseed.bitcoingold.org—bitcoingold.orgdomain hijacked on 2024-07-15 (see Notable security incidents).eu-dnsseed.bitcoingold-official.org— registered through the compromised registrar; not currently resolving.dnsseed.btgofficial.org— subdomain does not exist on thebtgofficial.orgzone.dnsseed.4btg.org— subdomain does not exist on the4btg.orgzone.
Testnet (broken):
test-dnsseed.bitcoingold.org— same hijack as mainnet.eu-test-dnsseed.bitcoingold-official.org— same as mainnet.test-dnsseed.btgofficial.org— same as mainnet.tdnsseed.4btg.org— same as mainnet.
If a brand-new node is using bgoldd's built-in seed list only, peer discovery will fail or take a very long time. Either:
- Add
seednode=lines tobitcoingold.confpointing at the*.devand*.serviceshostnames above, or - Rely on the hardcoded
pnSeed6_main/pnSeed6_testfallback list insrc/chainparamsseeds.h(≈ 50 IPv4/IPv6 nodes, mostly on port 8338). This list does still work, so the network remains reachable — but it's the last resort, not the fast path.
Address formats¶
| Type | Mainnet prefix | Version byte | Notes |
|---|---|---|---|
| P2PKH (legacy) | G |
0x26 (38) |
Example: GYf8nyo1c8oWsHzbvL1fD3Ckgg68UzBi5J |
| P2SH (legacy) | A |
0x17 (23) |
|
| Bech32 (SegWit) | btg1... |
— | HRP btg for mainnet, tbtg for testnet |
HD wallet (BIP44)¶
| Field | Value |
|---|---|
| Coin type | 156 (hex 0x8000009c) |
| Reference | slip-0044 |
| Recommended path | m/84'/156'/0'/0/0 (native SegWit P2WPKH) |
URI scheme¶
- URI prefix:
bitcoingold: - Signed message magic:
Bitcoin Gold Signed Message:\n
Replay protection¶
Bitcoin Gold uses strong two-way SIGHASH_FORKID replay protection.
- ForkID:
79 - All post-fork transactions use the BIP143 SIGHASH signing style.
- Pre-fork signing logic is preserved in the code only to validate pre-fork transactions.
Proof of work¶
| Parameter | Value |
|---|---|
| Algorithm | Equihash-Bitcoin Gold (BTG) |
| N, K | 144, 5 |
| Personalization string | BgoldPoW |
| Solution size | 100 bytes |
| Memory per mining thread | ~2.5 GB |
| Hard-fork height (Equihash-Bitcoin Gold (BTG) N=144 K=5, BgoldPoW) | 536,200 (July 2018) |
| Hard-fork height (LWMA DAA) | 536,200 (same hardfork) |
Difficulty adjustment uses Zawy's LWMA with a 45-block averaging window (post-536,200).
Hard fork / Endowment¶
- First block after the fork:
491,407 - Endowment: 8,000 blocks (
491,407–499,406) at minimum difficulty (difficulty = 1,bits = powLimit) - Endowment output: 4-of-6 multisig, time-locked (40% available, 60% released monthly over 3 years)
Signet¶
Signet is a test network introduced in Bitcoin Core 0.21, available in Bitcoin Gold (BTG)'s v0.21.3-beta+ builds. Unlike testnet, block production is controlled by a central signature ("signet challenge") rather than proof-of-work, making signet immune to block-reorg, miner-withholding, and spam attacks that plague public testnets.
| Property | Signet (default) |
|---|---|
| CLI flag | -signet |
| Network magic | 0x4e 0x65 0x78 0x74 |
| P2P port | 38333 |
| RPC port | 38332 |
| DNS seeds | None (hardcoded). Pass -signetseednode=<host>:<port> to specify a peer. |
| Block challenge | Well-known default key (see src/chainparams.cpp). Override with -signetchallenge=<hex>. |
For development, CI, and wallet testing, signet is far more predictable than testnet — no chain splits, consistent block cadence, and full control over the signing key if you run your own.
Domain history (important notice)¶
The 2024-07-15 hijack
On 15 July 2024, the bitcoingold.org domain was hijacked and pointed to an attacker-controlled account. The current official domain is btgofficial.org.
Always verify releases via the official GitHub releases page (BTCGPU/BTCGPU) and the official domain btgofficial.org — never trust any URL ending in bitcoingold.org.
References¶
- BTCGPU/BTCGPU source —
src/chainparams.cpp,src/pow.cpp - Technical-Spec wiki page
- slip-0173 (Bech32 HRP)
- slip-0044 (BIP44 coin type)