Skip to content

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 to CMPCTBLOCK when talking to peers older than v0.15.0.1.

DNS seeds

DNS seeds that currently respond (verified 2026-06-06)

Mainnet:

  • dnsseed.bitcoingold.dev — hardcoded in bgoldd's chainparams.cpp; resolves to multiple A records.
  • dnsseed.bitcoingold.services — run by bitcoingold.services; not in chainparams.cpp but actively serves the network. Use this if you control the .services zone or if you want the highest-availability option.

Testnet v3:

  • test-dnsseed.bitcoingold.dev — hardcoded in bgoldd's chainparams.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.orgbitcoingold.org domain 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 the btgofficial.org zone.
  • dnsseed.4btg.org — subdomain does not exist on the 4btg.org zone.

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 to bitcoingold.conf pointing at the *.dev and *.services hostnames above, or
  • Rely on the hardcoded pnSeed6_main / pnSeed6_test fallback list in src/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,407499,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.orgnever trust any URL ending in bitcoingold.org.

References