You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A Bitcoin chart from 2010 to today with 87 clickable overlays. Turn on halvings, QE/QT, rate hikes and cuts, elections, wars, crashes, on-chain metrics and price models, then see what BTC did before, during and after each one.
Full BTC history. Daily candles from Bitstamp (Aug 2011 on). Before that, the CoinMetrics daily price (from Jul 2010), drawn as grey candles because no real open/high/low exists.
TradingView-style chart built with Lightweight Charts: drag, zoom, stretch the price axis, resize the panels, switch between 1D/1W/1M and log/linear.
Left panel of overlays. Click to turn each one on or off. There are three kinds:
Event lines for halvings, rate hikes, FTX and similar one-day events.
Shaded periods for QT, wars, recessions, midterm years and similar spans.
Data lines for Fed liquidity, MVRV, the 200-week MA and similar series, either on the price chart or in a panel below.
Evidence grade on every overlay:A strong, B medium, C weak / folklore.
Before/after slider. Shades N days before and after every event.
Compare table. BTC % move before, during and after every instance, with the average and median. Rows that are in the future or still running are left out of the average.
Hover over any line or period to see what it is and when it happened.
Free data only. No API keys. FRED, CoinMetrics community, Bitstamp, blockchain.com, alternative.me and DefiLlama.
AI remote control (optional). Run Claude Code in this folder and ask a question, for example "how does BTC act around midterms?" Claude answers on your chart. It turns on overlays, zooms in, draws boxes and leaves a note card (see bin/chart.mjs).
Not financial advice. Correlation is not cause. Bitcoin has had only 4 halving cycles, so every pattern here rests on a few examples.
git clone https://github.com/CrowsCoder/crows-chart.git
cd crows-chart
npm install
npm start
Open http://127.0.0.1:5178. The first start downloads the data, which takes about 15 seconds. After that the data refreshes when it is more than 12 hours old, or when you click Refresh data.
On a Mac you can double-click Start Crows Chart.command instead.
A daily GitHub Action (.github/workflows/publish.yml) fetches fresh data, builds a static site (npm run build:public), and pushes it to the site branch.
Cloudflare Pages publishes the site branch.
The public site leaves out the Claude link and 5 overlays whose data terms don't allow public redistribution: Nasdaq, VIX, high-yield spread, stablecoins and difficulty. See scripts/public-policy.json.
Rebuild the overlay tables below and docs/OVERLAYS.md
node bin/chart.mjs help
Remote-control the open chart (used by Claude)
node bin/chart.mjs stats midterms 365
Print BTC % before/after every midterm, no browser needed
Overlays
Every overlay, what it shows and where its data comes from. For every date each overlay draws, see docs/OVERLAYS.md. For the research list behind the app, see docs/btc-price-drivers.md.
87 overlays in 15 groups. Generated by npm run docs. Full dates for every overlay: docs/OVERLAYS.md.
Halving & 4-year cycle
Overlay
Evidence
What it is
Shows
Data source
Halvings halvings
A
Block reward cut in half every 210,000 blocks (~4 years).
5 event lines
Hand-curated dates (public/js/events-data.js)
Halving epochs (4-year cycles) halving-epochs
A
Shaded halving-to-halving periods.
5 shaded periods
Halving dates
Cycle tops cycle-peaks
B
Highest price of each cycle, found in the data.
5 event lines
Found in BTC price data (highest high in fixed date windows)
Cycle bottoms cycle-bottoms
B
Lowest price of each bear market, found in the data.
5 event lines
Found in BTC price data (lowest low in fixed date windows)
Halving → top runs halving-to-top
B
Shaded run from each halving to the next cycle top. Shows the ~12–18 month pattern.
4 shaded periods
Halving dates + cycle tops found in price data
Days since halving days-since-halving
B
Counter that resets at every halving.
Days since halving (panel below)
Computed from halving dates
BTC supply inflation % (yearly) inflation
A
New coins per year ÷ supply. Drops at each halving.
Supply inflation % (panel below)
CoinMetrics community API
Stock-to-Flow model (PlanB 2019) s2f
C
ln(market cap) = 3.3·ln(S2F) + 14.6. Model failed in 2021–22. Shown for reference.
S2F model price (line on price)
CoinMetrics community API
Central bank money (QE / QT)
Overlay
Evidence
What it is
Shows
Data source
QE periods (money printing) qe
A
Fed buying bonds = adding money. Includes "Not-QE" and RMP.