Why testnet5
Testnet4 kept an exception to the proof-of-work rules: a block may be mined at minimum difficulty when more than 20 minutes have passed since the previous one. It was meant to give CPU miners a way to get coins and to keep the chain moving if hash power left. Soon after launch it was exploited systematically, and the network suffered constant short re-orgs as several minimum-difficulty blocks competed for the tip.
Testnet5 removes the exception, so the chain behaves like mainnet. It also raises the minimum difficulty, and it enforces BIP 54 (consensus cleanup) from block 1, so miners can test that their software follows those rules.
testnet4 → testnet5
| testnet4 (BIP 94) | testnet5 (BIP 95) | |
|---|---|---|
| 20-minute min-difficulty exception | Yes | No |
| Minimum difficulty | 1 | ≈ 1,000,000 (nBits 0x1a0fffff) |
| BIP 54 consensus cleanup | No | From block 1 |
| Mining a block | CPU possible via the exception | Needs ASIC hash power |
| Default P2P port | 48333 | 18353 |
Network parameters
| Chain name | testnet5 (-testnet5, -chain=testnet5) |
|---|---|
| Message start (magic) | 0x46495645, spells FIVE |
| P2P port | 18353 |
| RPC port | 18352 (Bitcoin Core #35861) |
| Proof-of-work limit | 0000000000000fffff0000…0000 (0x1a0fffff) |
| Addresses | Same as other test networks: bech32 tb1…, base58 prefixes 111 / 196, tpub |
| Seeds | None yet; connect by hand with -addnode |
Genesis block
Mined in a public, fair launch through the bootstrap pool. The coinbase commits to a mainnet block hash, which proves the block was built after that mainnet block, and an OpenTimestamps proof shows it existed before mainnet block 975,749.
| Hash | 00000000000008c1637e7d3252dc1c333d4546fd6fff6a474b200d674a91d497 |
|---|---|
| Time | 2026-11-14 05:03:13 UTC (1794632593) |
| Message | 2026-11-14 975744 0000000000000000000123e2681e2f82acdcb9430a15eec24cc85b400691d479 |
| Commits to | Mainnet block 975,744 |
| Merkle root | 8c5899b65c5b0834adb17af314e22a9bf067e7ed8144c37967b5ec56b5a6e28d |
| nonce · nBits · version | 0x653d9131 · 0x1a0fffff · 0x2230c000 |
| Output script | OP_RETURN 95ebf76a02000000 |
Run a node
No Bitcoin Core release supports testnet5 yet. Build PR #35861; until bips#2356 lands the PR carries placeholder genesis values, so fill in the ones above in CTestNet5Params (src/kernel/chainparams.cpp). Core asserts the genesis hash and merkle root at startup, so a wrong value stops the node instead of following another chain.
git clone https://github.com/bitcoin/bitcoin && cd bitcoin
git fetch origin pull/35861/head && git checkout FETCH_HEAD
# edit CTestNet5Params: genesis message, output script, nTime, nNonce, nVersion, both asserts
cmake -B build -DBUILD_GUI=OFF -DWITH_ZMQ=ON
cmake --build build -j"$(nproc)"
build/bin/bitcoind -testnet5 -daemon -addnode=lapis.erisian.com.au:18353
build/bin/bitcoin-cli -testnet5 getblockhash 0
# 00000000000008c1637e7d3252dc1c333d4546fd6fff6a474b200d674a91d497
Step-by-step notes, including how to import the bootstrap blocks if peer-to-peer sync fails, are in the P2Poolv2 testnet5 guide.
Mine and get coins
There is no faucet yet. With a minimum difficulty around one million, coins come from mining with ASIC hardware: a 1 TH/s miner finds a block at minimum difficulty in about 75 minutes on average; a CPU would take years.
Sponsor
This page is run by @orangesurfbtc, a sponsor of testnet4.com. Logo files: github.com/orangesurf/testnet5.