Bitcoin Testnet Guide: Faucets, Networks, and Dev Resources
Guide to Bitcoin test networks: testnet3, testnet4, signet, and regtest with faucet links, comparison tables, and developer setup instructions.
Bitcoin Test Networks Overview
Bitcoin provides four distinct test environments for developers: testnet3 (deprecated), testnet4, signet, and regtest. Each serves a different purpose and comes with its own tradeoffs around realism, reliability, and ease of use. Choosing the right network for your project can save hours of debugging and prevent false confidence in code that hasn't been tested under realistic conditions.
The following table summarizes the key differences between all four networks. Detailed breakdowns of each network, including faucet availability and setup instructions, follow below.
| Network | Status | BIP | Block Time | Block Production | Faucets Available | Best For |
|---|---|---|---|---|---|---|
| Testnet3 | Removed (Core v30.0) | N/A | ~10 min (unstable) | Proof-of-work | Legacy only | Nothing (migrate away) |
| Testnet4 | Active (Core v28.0+) | BIP94 | ~10 min | Proof-of-work | Yes | Realistic mainnet simulation |
| Signet | Active (Core v0.21.0+) | BIP325 | ~10 min | Signed blocks | Yes | Stable, predictable testing |
| Regtest | Active (all versions) | N/A | On demand | RPC command | Not needed | Unit tests, CI/CD, local dev |
Testnet3: Deprecated and Removed
Testnet3 served as Bitcoin's primary public test network for over 13 years, accumulating more than 2.5 million blocks before its deprecation. Bitcoin Core v28.0 (released October 2024) officially deprecated testnet3, and v30.0 (released October 2025) removed it entirely. Running bitcoind -testnet on Core v30.0 produces an error.
Three critical problems drove the deprecation:
- Block storms: a flaw in the 20-minute minimum difficulty adjustment rule allowed miners to exploit the last block of a difficulty period, resetting the next epoch's difficulty to 1. This caused years of blocks to be mined in weeks, making the chain unreliable for testing
- Coin scarcity: after 13+ years, the block subsidy had dropped to approximately 0.014 tBTC, making it impractical to distribute test coins through mining
- Value emergence: testnet3 coins were being traded on secondary markets, violating the core principle that test network coins should have no monetary value
If your project still depends on testnet3, migrate to testnet4 or signet immediately. Legacy testnet3 faucets may still be accessible but the network itself is no longer maintained.
Testnet4 (BIP94)
Testnet4 is the direct replacement for testnet3. Defined in BIP94 and introduced in Bitcoin Core v28.0, it starts from a fresh genesis block and fixes the block storm exploit that plagued testnet3.
What testnet4 fixes
The 20-minute minimum difficulty exception still exists on testnet4 (allowing CPU miners to move the chain forward during low-hashrate periods), but it no longer applies to the first block of a difficulty period. The difficulty adjustment calculation now uses the first block of the epoch as its anchor rather than the last block of the previous epoch, preventing the cascading reset exploit. Testnet4 also includes the timewarp attack mitigation.
All mainnet soft forks active as of May 2024 are enforced from the testnet4 genesis block. This means developers can test Taproot, Schnorr signatures, and SegWit transactions without waiting for activation on the test network.
Testnet4 setup
To run a testnet4 node, add testnet4=1 to your bitcoin.conf or start Bitcoin Core with:
bitcoind -testnet4The default data directory is ~/.bitcoin/testnet4/ and the default RPC port is 48332. The P2P port is 48333. Testnet4 uses message start bytes 0x1c163f28, which prevents accidental cross-network connections.
Signet (BIP325)
Signet takes a fundamentally different approach to test network design. Defined in BIP325 and available since Bitcoin Core v0.21.0 (January 2021), signet requires blocks to be cryptographically signed by designated keys. This gives network operators complete control over block production, timing, and chain reorganizations.
Default signet vs. custom signet
The default signet (activated with -signet) is operated by Karl-Johan Alm and Anthony Towns, the BIP325 authors, using a 1-of-2 multisig arrangement. It produces blocks approximately every 10 minutes, closely mimicking mainnet behavior without the instability of proof-of-work test networks.
Anyone can create a custom signet by generating signing keys and defining a block challenge script. Custom signets are fully independent networks, useful for teams that want a controlled test environment isolated from the public default signet.
Signet setup
Start a default signet node with:
bitcoind -signetThe default data directory is ~/.bitcoin/signet/ and the default RPC port is 38332. The P2P port is 38333. For custom signets, specify the challenge script and seed nodes in your configuration.
Regtest: Local Development
Regtest (regression test mode) creates a completely local, private blockchain with no network peers. Blocks are generated on demand through RPC calls, making it the fastest environment for iterative development and automated testing.
Start a regtest node and generate 101 blocks (the minimum to make coinbase rewards spendable due to the 100-block maturation rule):
bitcoind -regtest -daemon
bitcoin-cli -regtest createwallet "test"
bitcoin-cli -regtest -generate 101No faucet is needed on regtest since you control all block production and coin distribution. The first 150 blocks pay a reward of 50 BTC each. Regtest is ideal for unit tests, CI/CD pipelines, and Lightning channel testing in local environments.
Testnet Faucets
Faucets distribute free test coins so developers can build and test without mining. Faucet availability changes frequently: some go offline, some add rate limits, and new ones appear. The following table lists known faucets as of early 2026.
| Network | Faucet | Amount per Request | Rate Limit |
|---|---|---|---|
| Testnet4 | mempool.space/testnet4/faucet | Varies | Per IP/address |
| Testnet4 | coinfaucet.eu | Varies | Per IP/address |
| Signet | signetfaucet.com | 1,000 - 10,000 sats | Daily per IP/address |
| Signet | alt.signetfaucet.com | Varies | Daily per IP/address |
| Regtest | N/A | 50 BTC per block (self-mined) | None |
When using faucets, send coins back after testing. Test coin hoarding contributes to scarcity problems and harms other developers. Most faucets display a return address for this purpose.
Which Test Network Should You Use?
The right choice depends on what you are building and how you plan to test it:
- Building a wallet or payment application that needs to simulate real mainnet conditions: use testnet4. Its proof-of-work block production and public mempool closely mirror mainnet behavior, including fee estimation and replace-by-fee dynamics
- Running integration tests that need consistent, predictable block times without block storms or hash rate volatility: use signet. The controlled block production means your test suite will not break due to random network instability
- Writing unit tests, running CI/CD pipelines, or iterating rapidly on local features: use regtest. Instant block generation and full control over the chain state make it the fastest development loop
- Testing layer 2 protocols like Lightning or Spark: start with regtest for channel open/close logic, then move to signet or testnet4 for multi-party testing with realistic network latency
Many development workflows combine multiple networks: regtest for fast local iteration, signet for stable integration tests, and testnet4 for final validation before mainnet deployment. For a deeper look at developer tooling, see our Bitcoin for developers research article.
Developer Tooling and Block Explorers
Each test network has its own set of block explorers and developer tools:
- Testnet4: mempool.space/testnet4 provides a full explorer with mempool visualization, fee estimation, and transaction tracking
- Signet: mempool.space/signet offers the same explorer interface for the default signet
- Regtest: no public explorer (local chain), but tools like
bitcoin-cliand libraries such as bitcoinjs-lib provide full chain inspection capabilities
When testing PSBTs, Bitcoin Script, or Miniscript spending policies, consider using our script debugger and PSBT inspector tools alongside your test network.
Common Pitfalls
Developers frequently encounter these issues when working with test networks:
- Using testnet3 addresses on testnet4: testnet3 and testnet4 share the same address prefixes (
tb1for bech32,mornfor legacy), but the networks are completely separate. Coins on one network do not exist on the other - Forgetting the 100-block maturation rule on regtest: coinbase rewards are not spendable until 100 additional blocks are mined on top. Always generate at least 101 blocks before attempting to create transactions
- Treating test network behavior as identical to mainnet: fee markets, mempool congestion, and block intervals on test networks differ from mainnet. Test networks are useful for functional testing, not for benchmarking economic behavior
- Hardcoding testnet3 chain parameters: if your application references testnet3 genesis blocks, magic bytes, or DNS seeds, it will break. Update to testnet4 parameters or use a library that handles network selection
Frequently Asked Questions
What is a Bitcoin testnet faucet?
A Bitcoin testnet faucet is a web service that distributes free test coins (tBTC or sBTC) to developers. These coins have no monetary value and exist solely for testing Bitcoin applications. You provide a test network address, and the faucet sends a small amount of coins to that address. Most faucets impose rate limits (per IP or per address) to prevent abuse.
Is testnet3 still available?
No. Bitcoin Core v28.0 (October 2024) deprecated testnet3, and v30.0 (October 2025) removed it entirely. Attempting to start a node with -testnet on Core v30.0 or later produces an error. All developers should migrate to testnet4 or signet. Some third-party tools may still reference testnet3, but the network is no longer maintained.
What is the difference between testnet4 and signet?
Testnet4 uses proof-of-work block production like mainnet, meaning block times are variable and the network can experience instability during hash rate fluctuations. Signet uses signed blocks controlled by designated operators, providing predictable and stable block production. Testnet4 is better for testing under realistic mainnet-like conditions; signet is better for integration tests and CI/CD workflows that require consistent behavior.
Can I mine on testnet4?
Yes. Testnet4 uses proof-of-work and allows CPU mining, especially when the 20-minute minimum difficulty exception is active. However, mining testnet coins for the purpose of selling them defeats the purpose of a test network. The Bitcoin Core project is actively considering proposals to disable the minimum difficulty exception after a certain block height to discourage this behavior.
How do I get signet coins?
Use the default signet faucet at signetfaucet.com. You will receive between 1,000 and 10,000 satoshis per request, with daily limits per IP address and per receiving address. For larger amounts, consider running a custom signet where you control all block production and coin distribution.
Do I need a faucet for regtest?
No. On regtest, you generate blocks locally using bitcoin-cli -regtest -generate <n>. Each block awards 50 BTC to your wallet. Since you control the entire chain, you can create as many coins as you need instantly. This makes regtest the most convenient network for automated testing.
Which test network works with the Lightning Network?
All four networks support Lightning channels. Regtest is the most common for local Lightning development because you can instantly mine blocks to confirm channel opens and closes. Signet is well-suited for multi-node Lightning testing with stable block times. Testnet4 provides the most realistic Lightning testing environment. For more on Lightning development, see our payment channels guide and Lightning node comparison.
This guide is for informational purposes only. Faucet URLs, availability, and rate limits change frequently. Always verify that a faucet is operational before relying on it for your development workflow. Test network coins have no monetary value and should not be bought or sold.
Build with Spark
Integrate bitcoin, Lightning, and stablecoins into your app with a few lines of code.
Read the docs →
