interactive tool

Difficulty & Halvings

Tools

Bitcoin's retargets every 2,016 to keep block time near ten minutes. cut the issuance subsidy every 210,000 blocks. Both are on rails — neither requires a vote, and every full enforces them.

Current epoch
00.0%2,016
Block height
Blocks into epoch
0 / 2016
Difficulty
132.47 T
Last adjustment
0.977×

Next retarget in ~14d 0h 0m (block #949,536).

Next halving
711d 16h 0m
At block
#1,050,000
Blocks away
102,480
Subsidy now
3.125 BTC
After halving
1.5625 BTC

Estimate assumes a perfect 10-minute block. Real arrival can be weeks early or late.

Difficulty since genesis (log scale)

Each step is one retarget — every 2,016 blocks (~two weeks). Hashrate has grown roughly 1014× since 2009; difficulty tracks it.

Halving schedule
EraBlockDateSubsidyStatus
002009-01-0350 BTCGenesis
1210,000Dec 10, 201225 BTCPast
2420,000Jul 18, 201612.5 BTCPast
3630,000May 20, 20206.25 BTCPast
4840,000Apr 24, 20243.125 BTCPast
51,050,0001.5625 BTCFuture
61,260,0000.78125 BTCFuture

Why both at once

Difficulty and halvings are the two clock-springs that make Bitcoin a closed-form monetary system. Difficulty keeps the cadence constant — blocks every ten minutes — regardless of how many show up. The halving forces the issuance curve to converge: 50 + 25 + 12.5 + ... BTC per block, multiplied by 210,000 blocks per era, sums to exactly 21,000,000.

Together they decouple the schedule from any one party's will. Nobody chooses to adjust difficulty — every full node computes the same retarget from the same chain history. Nobody can vote in a higher subsidy — every node already knows what the next subsidy should be at every height for the next century.

Difficulty epochs bundled with the site (refreshed via npm run refresh-difficulty). Current tip via mempool.space, cached server-side for ~30 s.