Bitcoin mining is how new blocks of transactions are added to Bitcoin's block chain. Mining machines hash an 80-byte block header over and over until one result falls at or below a target set by the network. The miner or pool that finds such a block collects the block reward: newly issued bitcoin (the subsidy, 3.125 BTC since the April 2024 halving) plus the fees from the transactions in that block. Bitcoin's developer documentation puts the purpose in one line: "Mining adds new blocks to the block chain, making transaction history hard to modify."


Where the network stands now
These figures come from the mempool.space block explorer, read on 25 October 2026:
- Block height: 972,986.
- Hashrate: about 1,081 EH/s (1.08 × 10²¹ hashes per second) as of 24 October 2026.
- Difficulty: about 140.6 trillion.
- Last adjustment: difficulty rose about 5.9% on 16 October 2026.
- Next adjustment: block 973,728, about 742 blocks away. The explorer's estimate on 25 October was a rise of about 4.9%, which will change as blocks arrive.
- Recent pace: blocks in the current period have averaged about 9.5 minutes, faster than the 10-minute target. That is why the next adjustment is projected upward.
How a miner finds a valid block
The block header
Every block has an 80-byte header. Bitcoin's developer reference lists its fields: version, the previous block's header hash, the merkle root (a hash summarising every transaction in the block), a timestamp, nBits and a 4-byte nonce. nBits is "an encoded version of the target threshold this block's header hash must be less than or equal to."
Hashing against the target
The developer guide describes the solo loop:
- The mining software asks the node (bitcoind) for the transactions to include, using the
getblocktemplateRPC. - It sends the 80-byte header and the target threshold to the mining hardware, an ASIC (application-specific integrated circuit).
- The hardware "iterates through every possible value for the block header nonce and generates the corresponding hash."
- When a hash falls below the target, the hardware returns the header with that nonce. The software attaches the header to the block and sends the block to bitcoind, which broadcasts it to the network.
A 4-byte nonce allows 2³² values, about 4.29 billion. At the current network hashrate, that range is exhausted many times over every second across all miners. A single valid hash is easy to check and very costly to find, and that cost is what protects the history.
Why the history is hard to change
Each header contains the hash of the previous block's header. To rewrite an old transaction, an attacker would have to redo the proof of work for that block and every block after it, while the rest of the network keeps extending the chain.
Difficulty: how Bitcoin keeps a 10-minute pace
Bitcoin Core's mainnet parameters set a target spacing of 10 60 seconds per block and a retarget window of 14 24 60 60 seconds, which is two weeks. The developer guide says that every 2,016 blocks the network compares the timestamps against that two-week ideal (1,209,600 seconds) and adjusts the target. One adjustment can raise difficulty by up to 300% or lower it by up to 75%. When blocks come faster than intended, difficulty rises. When they come slower, it falls.
A known off-by-one error means the calculation actually uses timestamps spanning 2,015 blocks, not 2,016. The guide documents this.
Solo or pool: what each route submits, keeps and pays
Compare the two routes on what the miner submits, who keeps the reward and how payments arrive.
| Point | Solo mining | Pool mining | Source |
|---|---|---|---|
| What the miner submits | The completed block, sent to bitcoind | Shares that prove part of the work | Source: Mining — Bitcoin (developer.bitcoin.org), accessed Oct 19, 2026 |
| Who keeps the reward | The miner keeps the whole block reward and fees | A portion of the proceeds | Source: Mining — Bitcoin (developer.bitcoin.org), accessed Oct 19, 2026 |
| How payments arrive | Large payments with higher variance and longer gaps | Based on how many shares each miner generated | Source: Mining — Bitcoin (developer.bitcoin.org), accessed Oct 19, 2026 |
Shows only what the sources describe; it does not compare profits or pool fees.
Mining adds new blocks to the block chain, making transaction history hard to modify.
The block reward and the halving
What the reward is made of
The first transaction in every block is the generation transaction. It pays the miner the block subsidy plus all transaction fees in the block. A fee is whatever input value a transaction leaves unspent, which, in the developer guide's words, "may be claimed as a transaction fee by the Bitcoin miner who creates the block containing that transaction." Newly mined coins cannot be spent for 100 blocks. Bitcoin Core sets COINBASE_MATURITY = 100. The rule exists because a block can become stale and drop out of the chain.
The halving schedule
In Bitcoin Core's GetBlockSubsidy function, the subsidy starts at 50 BTC and halves every 210,000 blocks. The code comment says this happens "approximately every 4 years":
| Block height | Subsidy per block |
|---|---|
| 0 | 50 BTC |
| 210,000 | 25 BTC |
| 420,000 | 12.5 BTC |
| 630,000 | 6.25 BTC |
| 840,000 (20 April 2024) | 3.125 BTC |
| 1,050,000 (next) | 1.5625 BTC |
Block 840,000 was mined at 00:09 UTC on 20 April 2024, according to its timestamp on mempool.space. The halving is set by block height, not by calendar date. At 10 minutes per block, the 77,014 blocks left from the current height work out to roughly April 2028. That is an estimate, and faster or slower blocks will move it.
The supply cap
Halving the subsidy every 210,000 blocks caps total issuance just under 21 million BTC. Bitcoin Core's MAX_MONEY constant is 21'000'000 * COIN. The code comment notes that this is a sanity check, not the supply itself, which "currently happens to be less than 21,000,000 BTC for various reasons." After 64 halvings, the code sets the subsidy to zero. From then on, miners would earn fees only.
Solo mining vs pool mining
Solo mining
A solo miner keeps the whole block reward and fees. The developer guide describes the trade-off as "large payments with a higher variance (longer time between payments)." With today's network hashrate, a small solo operation could go a very long time without finding a block.
Pool mining
A pool sets its own target threshold "a few orders of magnitude higher (less difficult) than the network difficulty." Members submit hashes that meet this easier target. Each one is called a share "because it proves the miner did a share of the work." When any member finds a block that meets the network target, the reward goes to the pool, which "pays out a portion of these proceeds to individual miners based on how many shares they generated." The result is "small payments with a lower variance (shorter time between payments)."
| Solo mining | Pool mining | |
|---|---|---|
| What the miner submits | A complete block to its own node | Shares that meet the pool's easier target |
| Who receives the reward | The miner, in full | The pool, which splits it by shares |
| Payment pattern | Large, irregular, long gaps | Small, more regular |
What it takes in practice
- Hardware. The developer guide names ASICs as the mining hardware. These chips are built for one hash function and are not general-purpose computers.
- Electricity. Hashing turns power into heat. Power price and cooling decide whether a machine earns more than it costs. This article gives no profitability figures, because they depend on power prices, hardware, fees and difficulty, and all of these change.
- A pool or a full node. Solo miners need their own node to build block templates. Pool miners connect to the pool's server, so it is worth reading the pool's fee and payout terms before pointing hardware at it.
- Patience with difficulty. Difficulty has been rising recently, about 5.9% in mid-October and an estimated 4.9% next. Each rise means the same machine earns a smaller share of the network's rewards.
For what happens to a transaction before it reaches a block, see how a bitcoin transaction works. For moving coins to your own wallet, see how to withdraw bitcoin.
Limitations: the live network figures come from one block explorer and change with every block. The developer documentation is undated, and the next-halving date is an estimate.