Bitcoin Hash Ribbons (Capriole 30/60 crossover)
The Hash Ribbons indicator plots the 30-day moving average of Bitcoin hashrate against the 60-day moving average. When the 30 falls below the 60 the network is in miner capitulation (shaded red). When the 30 crosses back above the 60 after a confirmed capitulation episode (10+ continuous days), a Hash Ribbon buy signal fires (green BUY marker on the chart). Coined by Charles Edwards / Capriole Investments in 2019, it has historically produced one of the highest hit-rate cycle-bottom signals in the Bitcoin indicator stack. Hover any day for the exact MA values and current state classification.
Chart
Log-scale chart of the 30-day MA hashrate (green) vs the 60-day MA hashrate (yellow) from 2014 onwards. Periods where the 30 sits below the 60 are shaded red (miner capitulation). Green BUY markers fire on each qualifying post-capitulation crossover. Hover any day for the exact MA values and current state classification.
What are Hash Ribbons?
Hash Ribbons is a Bitcoin cycle-bottom indicator developed by Charles Edwards of Capriole Investments in 2019. The construction is simple:
- 30-day MA of network hashrate (responsive short-term).
- 60-day MA of network hashrate (less responsive, smoother).
The relative position of the two MAs classifies the current state of the mining economy:
- 30 above 60 = expansion. Hashrate is growing; miners are profitable and deploying more capacity.
- 30 below 60 = capitulation. Hashrate is contracting; high-cost miners are switching off. Forced selling of any remaining BTC inventory is happening.
- 30 crosses up through 60 after sustained capitulation = buy signal. The capitulation phase has ended. The worst sellers (capitulating miners liquidating inventory) have exhausted their flow. Price typically follows.
The thesis is mining-economic rather than technical: hashrate is the most direct measure of miner financial stress, and miner-stress periods are also forced-selling periods. When the stress ends, the forced selling ends.
How the buy signal fires
The signal has three components, applied in strict sequence:
- Capitulation onset. The 30D MA crosses below the 60D MA. The chart begins shading red.
- Sustained capitulation. The 30D MA stays below the 60D MA for at least 10 continuous days. This duration filter rejects short-term block-time-noise crossings.
- Recovery cross. The 30D MA crosses back above the 60D MA. The Hash Ribbon buy signal fires on this day.
Some implementations add a fourth confirmation rule (BTC price must be above its 10-day MA at the moment of cross) for extra filter strength. The base 3-rule version is the most-cited "Capriole Hash Ribbons" signal.
Historical hit rate
Capriole's published research (Edwards 2019, refreshed periodically) claims approximately 90 percent win rate at 1-year forward holding periods. Capriole's framing: "If you had bought BTC at every Hash Ribbon buy signal and held for 365 days, ~9 out of 10 entries would have been profitable." The list of historical signals at the 10-day capitulation threshold:
- Late 2014. Post-Mt-Gox capitulation. BTC was ~A$220 at signal; recovered to A$500+ within 12 months.
- Mid 2015. Continuation of the late-2014 bear. Modest forward return; entered just before the genuine 2015 bottom.
- Early 2019. Post-ICO-bear capitulation. BTC was ~A$5,000 at signal; recovered to A$15,000+ within 12 months (3x).
- March 2020 (brief). COVID-crash capitulation. Capriole's strict implementation did not register this one because the capitulation lasted under 10 days; the 14-day implementation did.
- July-August 2021. China mining ban recovery. The highest-conviction Hash Ribbon signal in BTC history. BTC was ~A$50,000 at signal; rallied to A$95,000+ within 4 months.
- 2022-2023 bear. Multiple closely-spaced signals during the FTX-collapse trough. Final qualifying signal in mid-January 2023 marked the cycle bottom within weeks.
The 2024-2025 cycle did not produce qualifying buy signals. Crossovers occurred (block-time-noise driven) but no capitulation episode lasted 10+ days. This is consistent with the cycle's relatively smooth uptrend post-halving.
Methodology
- Inputs. Daily hashrate from
/assets/data/btc-hashrate.json(mempool.space live + seed fallback). - Moving averages. 30-day and 60-day simple moving averages of daily hashrate.
- State classification. capitulation (30D < 60D), recovery (30D > 60D, within first 30 days post-capitulation), expansion (30D > 60D, sustained 30+ days).
- Buy signal rule. Fires on the day the 30D crosses above the 60D, provided the immediately prior period was a continuous capitulation of at least 10 days.
- Static-first. Snapshot is re-derived on every build by scripts/fetch-btc-hash-ribbons.mjs from the freshest hashrate file. If hashrate is stale or missing, the existing snapshot is preserved.
Related tools
- Bitcoin Hashrate - the raw input series with 30 / 60 / 200-day MAs.
- Bitcoin Puell Multiple - paired cycle-bottom indicator (under 0.5 = bottom zone).
- Bitcoin Pi Cycle Bottom - price-MA-based cycle-bottom indicator.
- Bitcoin Miner Revenue - daily total miner revenue (subsidy + fees).
- Bitcoin Difficulty - the protocol-level reference for miner capacity.
- Charts Dashboard - all cycle indicators on one page.
Frequently asked questions
Hash Ribbons is a Bitcoin cycle-bottom indicator developed by Charles Edwards of Capriole Investments in 2019. It plots the 30-day moving average of network hashrate against the 60-day moving average. When the 30 falls below the 60, the network is in miner capitulation. When the 30 crosses back above the 60 after a sustained capitulation episode, a buy signal fires. The thesis: miners that capitulate (switch off) are forced sellers of any remaining BTC inventory; once the capitulation ends and hashrate recovers, the worst sellers have exhausted and price is set up to recover.
Three rules must hit in sequence: (1) the 30D MA must cross below the 60D MA, marking the start of a capitulation episode; (2) that capitulation must persist for at least 10 continuous days (this filters out short-term block-time noise crossings); (3) the 30D MA must then cross above the 60D MA. The signal fires on day-3 of the crossover above (Capriole's original definition uses a 3-day confirmation to avoid whipsaws). Some implementations also require BTC price to be above its 10-day MA at the moment of cross-over for extra filter strength. The conservative buy signal is the rarer, higher-quality version.
Roughly 8-12 times across Bitcoin's full price history. The exact count depends on which capitulation-duration threshold the implementation uses (5 days vs 10 days vs 14 days). At the 10-day threshold used here, you get approximately 9-10 historical signals: late 2014, mid 2015, early 2019, March 2020 (briefly), July-August 2021 (post-China-ban), and 2022-2023 bear (multiple closely-spaced signals). The signal is intentionally rare so each one is information-dense, but it also means you cannot use it for short-term trading - only for cycle-positioning entries.
Capriole's published research (2019, refreshed periodically) claims approximately 90 percent win rate at 1-year forward holding periods. Meaning if you bought BTC at every Hash Ribbon buy signal and held for 365 days, roughly 9 out of 10 entries were profitable. Some signals were modestly profitable; others (late 2018 / early 2019) preceded 5-10x rallies. Edge cases: signals very close to other signals (clustered) tend to share outcomes. The single highest-conviction signal historically was the July-August 2021 cluster following the China mining ban.
The most recent confirmed buy signal at the 10-day capitulation threshold was during the 2022-2023 bear-market trough. The exact date depends on the data provider and confirmation rule but most implementations dated it to mid-January 2023 (after the November 2022 FTX collapse capitulation). Subsequent crossovers in 2024-2025 did not qualify because the prior capitulation episodes were shorter than 10 days (block-time noise crossings, not genuine miner switch-offs). The chart marks every qualifying signal across the full history.
Hash Ribbons is one of three high-precision cycle-bottom indicators tracked on SatoshiMacro. The other two are: Puell Multiple below 0.5 (mining-revenue based) and the Bitcoin Pi Cycle Bottom Indicator (price-MA-based). When all three agree, the cycle-bottom call is high confidence. Each indicator has a different precision/recall tradeoff: Hash Ribbons is the rarest and most precise; Puell sub-0.5 covers slightly longer windows; Pi Cycle Bottom is the most agile. Use them together for confluence.