How Bitcoin’s Difficulty Adjustment Works, Explained
Bitcoin’s network aims to add a block every ten minutes however many miners join or leave. It does this by changing how hard blocks are to find, roughly every two weeks. This explainer sets out the rule as written in Bitcoin Core’s code and tabulates the 16 most recent adjustments.
Data as of · adjustments through block 973,728 (Oct 29, 2026)
Illustration: the 16 most recent bitcoin difficulty adjustments, April 3 to October 29, 2026, with the rule behind them.
How Bitcoin’s Difficulty Adjustment Works, Explained, data as of 2026-11-09
Date (UTC)
Block height
Difficulty
Change
Direction
Oct 29, 2026
973,728
148.36 T
▲ +5.54%
Rose
Oct 16, 2026
971,712
140.58 T
▲ +5.92%
Rose
Oct 3, 2026
969,696
132.72 T
▼ −0.03%
Fell
Sep 19, 2026
967,680
132.76 T
▲ +4.16%
Rose
Sep 5, 2026
965,664
127.45 T
▲ +1.31%
Rose
Aug 23, 2026
963,648
125.81 T
▼ −1.31%
Fell
Aug 8, 2026
961,632
127.48 T
▲ +0.99%
Rose
Jul 25, 2026
959,616
126.23 T
▼ −0.74%
Fell
Jul 11, 2026
957,600
127.17 T
▼ −5.00%
Fell
Jun 27, 2026
955,584
133.87 T
▲ +7.15%
Rose
Jun 14, 2026
953,568
124.93 T
▼ −10.09%
Fell
May 29, 2026
951,552
138.96 T
▲ +1.72%
Rose
May 15, 2026
949,536
136.61 T
▲ +3.12%
Rose
May 2, 2026
947,520
132.47 T
▼ −2.30%
Fell
Apr 17, 2026
945,504
135.59 T
▼ −2.43%
Fell
Apr 3, 2026
943,488
138.97 T
▲ +3.87%
Rose
Date = when the adjustment block (the first block with the new difficulty) was mined, UTC. Difficulty is in trillions (T) as mempool.space reports it. Change = the new difficulty over the previous one, minus 1.3 Observed facts, not a forecast.
How it works
Target
The ten-minute target
Bitcoin’s rules aim for one new block every 10 minutes, set in the code as a target spacing of 600 seconds.2Mining is the work of finding those blocks, and hashrate is the total computing power doing it. If more hashrate arrives, blocks would come faster than every 10 minutes unless something changes. That something is the difficulty adjustment.
Window
Every 2,016 blocks
The code changes difficulty only once per “adjustment interval”, which it defines as the two-week target timespan divided by the 10-minute spacing, or 2,016 blocks.2 The check in GetNextWorkRequired is that the next block’s height is an exact multiple of that interval; otherwise the previous difficulty carries over.1 Every block height in the table is a multiple of 2,016 (973,728 is 483 × 2,016).3
Formula
How the new difficulty is set
The code takes the time between the first and last blocks of the 2,016-block window and scales the old target by that time divided by two weeks.1 Difficulty moves opposite to the target: a larger target means lower difficulty. If the window took longer than two weeks, the target grows and difficulty falls; if it took less, the target shrinks and difficulty rises.1
Limit
The four-times limit
The measured time is clamped to between one quarter and four times the two-week target, so a single adjustment can at most multiply difficulty by 4 or cut it to a quarter.1 The 16 adjustments in the table are far inside that range, with changes between -10.09% and +7.15%.3
Table
What the last 16 adjustments show
Of the last 16 adjustments, 9 raised difficulty and 7 lowered it. The largest rise was June 27, 2026 (+7.15%) and the largest fall June 14, 2026 (-10.09%). The latest, at block 973,728 on October 29, 2026, set difficulty at 148.36 trillion.3
Limits
What the table cannot show
A change in difficulty records how long the previous 2,016 blocks took; it is set after the fact and does not measure hashrate on any given day. For related rankings, see the biggest difficulty increases, the biggest drops and hashrate growth by year. The table describes what happened and says nothing about what comes next.
Sources
Bitcoin Core, src/pow.cpp (GetNextWorkRequired and CalculateNextWorkRequired), master branch, retrieved 2026-11-09.
Bitcoin Core, src/kernel/chainparams.cpp: main-network consensus parameters nPowTargetTimespan = 14 days and nPowTargetSpacing = 10 minutes, and src/consensus/params.h: DifficultyAdjustmentInterval() = timespan ÷ spacing; retrieved 2026-11-09.
mempool.space, API: difficulty adjustments (timestamp, block height, difficulty and change ratio of each adjustment), retrieved 2026-11-09.
For information only. Not financial advice. See the terms of use.