Market breadth against Bitcoin

Altcoin season index

How many of the largest non stablecoin assets are beating Bitcoin right now, computed here across five lookback windows and five depths instead of one of each.

The reading below is recomputed in your browser from a snapshot fetched at build time. Set the window, set the depth, and the index, the breadth curve and the contributing assets all move with it.

Interactive tool

Recompute the index

Lookback window

Stablecoins and Bitcoin are both removed before the depth is cut, so a depth of 50 means the 50 largest assets other than Bitcoin. Every figure recomputes from the snapshot embedded at build time on , and your browser makes no market data request.

Top 50 altcoins over 30 days

50.0

Neither season

25 of 50 assets beat Bitcoin, which moved +4.5% over the same window. Every asset in the slice carried a change for this window.

Breadth by depth over 30 days

The same ratio recomputed at five cut off points. A reading that falls as the depth grows means the outperformance sits in the largest assets only.

  • Top 1020.0 (2/10)
  • Top 2548.0 (12/25)
  • Top 5050.0 (25/50)
  • Top 10054.0 (54/100)
  • Top 20054.3 (108/199)

Split by fundamental score in the top 50

Assets in the slice are joined on ticker symbol to the research snapshot dated 2026-09-18, then split at the median score. Both halves are priced live, and the scores themselves are not.

Not meaningful at this depth. Only 34 assets in the slice matched a scored token, which leaves 17 per half against a floor of 20. Raise the depth to widen the join rather than read a share off a thin sample.

Assets ranked by margin over Bitcoin

Margin is the asset percentage change minus the Bitcoin percentage change over 30 days, in percentage points. Score is the earlythunder research score where the ticker joined, and a dash where it did not.

RankAssetChangeMarginScore
33QNT+262.9%+258.4%116
34BTW+171.8%+167.3%-
21NEAR+110.1%+105.6%135
25AVAX+39.2%+34.7%138
41PUMP+38.3%+33.7%-
28SUI+34.3%+29.8%146
40ENA+34.1%+29.5%120
44AAVE+28.1%+23.5%156
50ONDO+19.3%+14.8%115
22BCH+15.4%+10.9%-
55SKY+15.3%+10.7%141
23LTC+15.0%+10.4%102
17ADA+13.6%+9.1%113
16WBT+12.8%+8.3%-
43OKB+12.1%+7.5%145
31HBAR+11.6%+7.1%112
10ZEC+11.3%+6.8%101
26UNI+10.5%+6.0%167
7SOL+10.2%+5.7%170
61PEPE+9.6%+5.1%92
51WLD+9.4%+4.9%89
36TAO+8.8%+4.2%128
27CC+8.7%+4.1%-
39CRO+8.2%+3.6%102
59ICP+5.5%+1.0%102
20XLM+4.3%-0.3%108
54DOT+4.0%-0.5%103
9FIGR_HELOC+3.1%-1.4%-
4BNB+2.8%-1.8%144
2ETH+2.6%-2.0%187
13XMR+2.3%-2.2%117
15LINK+1.8%-2.8%165
5XRP+1.7%-2.9%121
11HYPE+0.9%-3.7%193
32GRAM+0.5%-4.0%-
48USDY+0.3%-4.2%-
46USYC+0.3%-4.3%-
49BUIDL0.0%-4.5%-
8TRX-0.3%-4.8%125
58MORPHO-2.1%-6.6%157
38SHIB-2.7%-7.3%71
12DOGE-3.0%-7.6%89
18LEO-3.3%-7.9%126
60WLFI-5.6%-10.2%-
57PAXG-6.5%-11.1%141
35XAUT-6.7%-11.2%-
47M-8.2%-12.8%-
53MNT-10.3%-14.8%-
52ASTER-12.3%-16.8%-
19RAIN-33.6%-38.1%-

What the altcoin season index actually counts

The index is a counting exercise, not a model. Take the largest assets by market capitalisation, remove the stablecoins, remove Bitcoin because it cannot outperform itself, and ask one question of each survivor. Did it return more than Bitcoin over the same lookback. The yes answers are added up and divided by the number of assets that had a usable price change, and multiplying by 100 gives the reading.

Two thresholds carry the names. A reading of 75 or above is called altcoin season, because three quarters of the field is clearing the benchmark. A reading of 25 or below is called bitcoin season. Everything between is neither, and the number usually sits in that middle band, which is the part the headlines skip.

On the fetch behind this build, the top 50 over 30 days reads 50.0. That is 25 assets out of 50 clearing a Bitcoin move of +4.5%, which puts the reading in the band called neither season.

Everything above is arithmetic anyone can repeat from the same two endpoints. What follows is the part that needs a second data set.

Five lookback windows from one fetch

A season index is a statement about one lookback period, and the period is a choice rather than a fact. The original blockchaincenter version uses 90 days. Change the lookback and the same market can read as breadth or as concentration, so publishing one window hides the most important assumption in the metric.

The CoinGecko markets endpoint serves five change windows on a single call, 24 hours, 7 days, 30 days, 200 days and 1 year. It does not serve 90 days. This page therefore does not publish a 90 day figure, and the 30 day default here is not the same measurement as the 90 day figure quoted elsewhere. Comparing the two numbers directly is a category error, and the difference between them is not a signal.

Every available window at the top 50, computed from one dated fetch. The no data column counts assets dropped from both sides of the ratio because the provider served no change for that window.
WindowIndexBeat / totalNo dataBTC changeBand
24 hours32.016/500-3.4%Neither season
7 days36.018/500-1.9%Neither season
30 days50.025/500+4.5%Neither season
200 days50.025/500+17.2%Neither season
1 year43.821/482-33.1%Neither season

The breadth curve, not just the headline

One number at one depth cannot tell you whether outperformance is broad. A reading of 60 across the top 10 and a reading of 60 across the top 200 describe very different markets, and only the second one means the move has reached past the largest names. The ranked results for this query all publish a single depth, so the shape is missing from every one of them.

Read the ladder from the top down. A curve that falls as depth grows means the leaders are carrying the reading and the long tail is lagging. A curve that rises with depth means smaller assets are doing the work. A flat curve is a market moving together.

The 30 days index recomputed at five cut off points, from the top 10 down to the top 200. Stablecoins and Bitcoin are removed before the cut, so the top 50 here is the 50 largest non stablecoin assets other than Bitcoin.
DepthIndexBeat / totalNo dataBTC changeBand
Top 1020.02/100+4.5%Bitcoin season
Top 2548.012/250+4.5%Neither season
Top 5050.025/500+4.5%Neither season
Top 10054.054/1000+4.5%Neither season
Top 20054.3108/1990+4.5%Neither season

Is the breadth coming from the good tokens or the bad ones

The standard index treats every asset as one vote. A protocol with real fee revenue and a finished vesting schedule counts exactly as much as a token whose only distinguishing feature is a listing. That is fine as a definition and useless as a description, because the two cases mean opposite things about what is driving the move.

Early Thunder scores 251 tokens on 25 named variables, including protocol revenue, supply inflation, token release schedule, circulating to fully diluted ratio, holder concentration and competitive moat. That research file is dated 2026-09-18. Joining it to today prices on ticker symbol splits the index into two halves at the median score, and the two halves can then be compared against the same Bitcoin benchmark over the same window.

At the top 200, 104 assets matched a scored token. The higher scoring half reads 63.5 and the lower scoring half reads 73.1, both against the same Bitcoin move of +4.5%. Whichever half is higher, that is the half doing the work behind the headline number.

Two limits on this split, stated plainly. The scores are a dated snapshot and the prices are live, so this is research from 2026-09-18 tested against a later market, never a live score. And the join runs on ticker symbol, which is the weakest identifier in this asset class, so a renamed or reused ticker will fail to match and simply drop out of both halves rather than land in the wrong one. The matched count in the table is the honest measure of how much of the slice the split actually covers. The full scoring method sits on the methodology page, and the per token detail sits on the scorecard.

The 30 day index computed separately for the higher scoring and lower scoring half of the assets that joined the research file on ticker symbol.
DepthMatchedMedian scoreAbove medianBelow medianRead
Top 5034123.0--Sample too thin, 17 per half
Top 10065120.056.3 (18/32)75.0 (24/32)Reportable
Top 200104117.563.5 (33/52)73.1 (38/52)Reportable

Where this metric breaks

It measures breadth against one benchmark over one lookback, and that is the whole of it. It is not a forecast. A high reading says a lot of assets have already outperformed, which is a description of the recent past and carries no claim about the next month.

Survivorship is baked in. The top 50 is recomputed from today ranks, so an asset that collapsed out of the top 50 during the lookback is simply absent from the count, while an asset that climbed into the top 50 on the strength of that same move is present and counted as a win. The measured population is selected partly on the outcome being measured, and no version of this index avoids that, including the original.

Equal weighting is a second choice with consequences. A hundred billion dollar asset and a two billion dollar asset each contribute one vote, so a reading can be high while the market capitalisation weighted move is flat. The depth ladder is the partial answer here, since comparing the top 10 with the top 200 exposes where the votes are coming from.

Missing data is excluded rather than assumed. An asset with no percentage change for the selected window is dropped from the numerator and from the denominator, and the count of those drops is printed next to every figure. Below 10 comparable assets this page prints no index at all, because a share of eight moves twelve points on a single row.

The reading also changes with the fetch. This page holds one dated snapshot taken at build time, so the number here is already older than the market by the time it is read. For trade level math the crypto profit calculator is the tool, and the current research shortlist sits on the opportunities page.

Dated source check

Market build snapshot

Fetched

One fetch produced every figure on this page. The browser recomputes from the same embedded snapshot and makes no market data request of its own.

Universe rows kept
249
Stablecoins excluded
37
Rows embedded in the page
200
Rows cross checked
184
Worst price spread
0.899%
Research file dated
2026-09-18

Endpoints used

CoinGecko supplied ranks, stablecoin flags and every percentage change window. CoinPaprika supplied a second price for each asset it also lists, and the worst disagreement between the two across the cross checked rows is shown above. The fundamental scores come from the Early Thunder research file in this repository, which is dated and versioned rather than fetched.

About the author

Built and checked by Michael Lip

Michael Lip builds and operates the Early Thunder research engine end to end. He built this version of the season index because the published ones report one window at one depth and none of them says which half of the market is behind the number. View his GitHub profile.

Site-wide disclosures

  • Research and data analysis only. Nothing here is investment advice or a recommendation to buy or sell any asset.
  • Crypto assets are volatile and you can lose the entire amount you put in.
  • Scores measure fundamentals as recorded on the stated date. They do not predict price.
  • Every figure carries the timestamp it was fetched. Prices move continuously and the number on the page may already be out of date.
  • The operator may hold positions in assets covered on this site. See the portfolio page.