Bitcoin difficulty
Every 2016 blocks (~2 weeks), Bitcoin adjusts mining difficulty to keep average block time at 10 minutes. If miners are finding blocks faster than target the difficulty goes up; slower, it goes down. The adjustment is capped at ±300%. This page shows the live state, the live countdown to the next retarget, and historical difficulty over time.
Current difficulty
127.17 T
at block 957,907
Estimated next adjustment
+3.96%
avg block time this epoch: 577 s
(target: 600 s)
Retarget ETA
2026-07-25 07:21:18 UTC
1,709 blocks remaining
Epoch start: block 957,600
15.2% done
Retarget: block 959,616
Blocks into epoch
307 / 2,016
Blocks remaining
1,709
Epoch start
2026-07-11
20:09:11 UTC
Avg block time
577.1 s
target 600 s
Difficulty over time
One datapoint per retarget block (every 2016 blocks, ~2 weeks).
Each row pulls the difficulty + realised hashrate over that epoch
directly from our own Bitcoin Core 28 node
via getblockheader and getnetworkhashps.
Difficulty is flat between retargets by protocol, so the chart
draws a step function aligned to each adjustment.
How the adjustment is computed
- Every 2016 blocks (one epoch), nodes recompute difficulty so that average block time over the just-completed epoch was 10 minutes.
- If the epoch took less than 2 weeks of wall-clock, difficulty increases proportionally (max +300%).
- If the epoch took more than 2 weeks, difficulty decreases proportionally (max -75%, capping a single retarget at a 4x drop).
- The "estimated change %" above projects forward from the observed
average block time so far in the current epoch:
(600 / avg_block_time - 1) × 100. It's a live estimate that moves as more blocks confirm; the actual retarget pins to whatever the wall-clock interval is at block959,616.