Hashrate data source: BGeometrics.com · chart & styling by DurdenBTC.
What This Chart Shows
Hash Ribbons (Charles Edwards) reads miner capitulation from Bitcoin’s hashrate. When miners are unprofitable they switch machines off, hashrate falls, and the short average drops below the long one.
- The 30-day ÷ 60-day hashrate ratio is the lower panel. Below 1 the 30-day is under the 60-day — miner capitulation; above 1 the network is expanding.
- Capitulation windows are shaded green on the price panel — historically strong accumulation zones.
- Buy signals (green dots on price) fire when the ratio recovers back above 1 and price momentum has turned up (10-day price average above the 20-day).
- The price confirmation is what keeps the signal from catching a falling knife mid-capitulation.
How to Read It
Watch for the sequence: the ratio dips below 1 (miners capitulating, price usually washing out), then climbs back above 1 as the weakest miners are gone and the survivors’ hashrate stabilises. When price momentum confirms, the buy dot prints. On Bitcoin’s history that has landed near the 2015, 2018–19, 2020 COVID, 2021 China-ban and 2022 lows.
It is a slow, structural signal — capitulations play out over weeks, and not every one prints a clean buy. So it is best used to confirm a bottoming process alongside valuation and trend, not as a precise top or exit tool.
Drag to pan, scroll or box-zoom to zoom; the toolbar autoscales, resets or downloads the chart. Hover to read price and the ratio together.
Frequently Asked Questions
What are Hash Ribbons?
The 30- and 60-day moving averages of Bitcoin’s hashrate. The 30-day below the 60-day signals miner capitulation; the recovery back above has historically marked bottoms.
How is the buy signal defined?
The 30-day hashrate average crosses back above the 60-day (capitulation ending) and price momentum has turned up (10-day price average above the 20-day). The price filter avoids catching a falling knife.
Where does the data come from?
Hashrate is from BGeometrics.com; price is from our daily feed. The ribbons and signals are computed in the browser. Updated daily.