Methodology

BAGCHECK METHODOLOGY · DOC M-01 · REVISED WITH v0.14.1 · CHANGES ON THE RECORD →

§1 WHAT BAGCHECK MEASURES

"Will my asset make new highs?" conflates questions that must be kept apart. Bagcheck answers two, and refuses the third: reclaim outlook — how deep the drawdown is, what break-even requires, and the historical base rate for ever reclaiming the high — is the headline, drawdown-driven and brutal. Aliveness — whether the project still functions mechanically (development, liquidity, holders, supply, attention) — is the subordinate readout. ATH reclaim is answered only as a base rate, never a point prediction.

Aliveness is kept orthogonal to drawdown: being down 95% is not itself a health input — it selects which base rate applies. Among down-bad assets, the structural score separates the ones that still function from the ones that are rotting. Drawdown caps the displayed band, so an asset down 95% can never show FUNCTIONAL — when the cap bites, both reads are shown.

“Being functional is not recovery.”

§2 ARCHETYPES — THE BUCKETS, THE REFUSALS

A factor set has to depend on the asset's kind or it produces category errors: a meme is not supposed to ship code; an L1 lives or dies on usage; a governance token is mostly supply overhang. Each archetype carries a factor-weight profile, rendered below exactly as configured. Classification stays fine (a wrong label is a category error); percentile binning maps thin archetypes onto fatter pools so a bin is signal, not noise.

l1 / chain
sol
con
liq
usa
sup
str
defi / protocol
sol
con
liq
usa
sup
str
gaming / gamefi
sol
con
liq
usa
sup
str
bins against the Default pool
meme
sol
con
liq
usa
sup
str
dev health skipped · solvency slot reads attention
governance / ghost
sol
con
liq
usa
sup
str
bins against the DeFi pool
infrastructure
sol
con
liq
usa
sup
str
cex token
sol
con
liq
usa
sup
str
bins against the L1 pool
rwa
sol
con
liq
usa
sup
str
ai / depin
sol
con
liq
usa
sup
str
default (balanced)
sol
con
liq
usa
sup
str
DETECTION ORDER — FIRST MATCH WINS
  1. manual override (rare; rationale rendered verbatim in the report)
  2. stablecoin → REFUSED
  3. meme category tags
  4. wrapped / bridged → REFUSED
  5. AI / DePIN · gaming · CEX · infrastructure · RWA category tags
  6. L1 / chain · DeFi · governance category tags
  7. heuristics: giant supply + zero dev → meme; active dev, no tag → L1
  8. no decisive signal → Default (balanced)

§3 THE SIX FACTORS

Most death signals are correlated facets of one underlying thing — volume decay, OI decline, social decline, and address decline are all "attention is leaving" wearing four hats. Bagcheck scores six latent factors and combines the factors, not the raw metrics. The filter throughout: unfakeable, with lead-time — metrics that decay before price capitulates and that a project cannot cheaply manufacture.

FACTORMEASURED TODAYPENDING
structural solvency / liveness dev activity: commit cadence, contributors, release recency, org-level push recency (GitHub-corroborated). for memes this slot reads attention instead. treasury runway · revenue vs emissions
holder conviction & overhead supply holder-count trend (30d), concentration (HHI), diamond-hand share — on-chain, canonical-chain-first with an identity tripwire. supply-in-profit / MVRV · exchange netflow
liquidity / exitability absolute 24h volume + turnover, archetype-relative bins vs the frozen peer snapshot; declining 90d volume trend drags the score. slippage on a fixed-size sell · venue/delisting signals
usage / demand PENDING V1 active addresses · tx counts · derivatives OI & funding; for AI/DePIN: network resource demand
supply overhang & emissions circulating ratio + FDV/MC, archetype-relative; uncapped perpetual emitters are capped, never rewarded. unlock size ÷ daily real volume ("days to absorb")
relative strength / narrative 30d/200d performance vs the archetype peer group (price-only, unfakeable); attention signals weighted low. beta breakdown vs sector and BTC

A factor we cannot measure honestly is shown as PENDING (relevant, not wired) or SKIPPED (N/A for the type, e.g. dev health for a meme) — never assigned an invented number. A missing factor lowers confidence; it never improves the score.

§4 PEER BINS & FROZEN SNAPSHOTS

Liquidity, supply, conviction, and strength score as decile bins (Bin 1–10) against a frozen peer snapshot — the full top-500 universe, cut by archetype pool, frozen and versioned monthly on the same day the call batch freezes. Thresholds are archetype-relative because $2M/day of volume is healthy for a meme and a sign of abandonment for an L1.

A call graded later reconstructs the exact bins it was made against. Peer groups don't drift; records don't move.

§5 WHAT WE REFUSE TO SCORE

Some assets shouldn't be scored by this engine at all, and saying so is more honest than producing a number. This section is a feature, not an apology.

REFUSED — STABLECOIN

Bagcheck doesn't diagnose stablecoins. This asset is designed to hold a peg, not to reclaim a high — if it's off-peg the question is reserve backing and redemption, which this engine doesn't assess. We'd rather tell you that than fake a recovery number.

REFUSED — WRAPPED ASSET

Bagcheck doesn't diagnose wrapped or bridged tokens. This asset tracks an underlying — its price is the underlying's price, and its own volume, supply, and holder stats describe the wrapper, not the asset. Diagnose the underlying instead; a wrapper 'down 90%' is just the underlying down 90% (or a depeg, which is a custody question).

§6 PROVISIONAL MEANS PROVISIONAL

The base-rate table — how often assets this deep reclaim their high — is the most brand-critical number in the product, and it is currently a placeholder, flagged as such in every readout. Shipping fake-precise base rates would be the exact hopium this exists to counter. Universe-relative conviction bins carry the same warning.

reclaim base rate, drawdown ≥90%PROVISIONAL→ measured 2027-07-08
reclaim base rate, drawdown 70–90%PROVISIONAL→ measured 2027-07-08
conviction bins, universe-relativePROVISIONAL→ replaced as coverage widens

The first grading cycle replaces placeholders with measured rates — conditioned on the vital signs, which is the number nobody else will state. Until then every readout says so.

§7 WHAT WE WILL NOT DO

— no confident ATH or price predictions — base rates are distributions, never verdicts.

— no base rate presented as empirical before it is backtested.

— no number assigned to a factor we cannot honestly measure; a missing factor never inflates a score.

— no scoring where the frame doesn’t apply — stablecoins and wrappers are refused, and the refusal is on the record.

— no "stable" labels deep underwater — the structural readout tops out at FUNCTIONAL, is drawdown-capped, and stays subordinate to the reclaim outlook.

— no quiet test changes — the grading rule was pinned before the first batch froze; scoring changes ship with a version and stay on the record.

SIGNED INTO DOC M-01 · 2026-07-08

§8 DATA SOURCES & LIMITS

Market and price structure: CoinGecko. Development: CoinGecko dev stats, corroborated by org-level GitHub push recency (a false zero from one source is never trusted over a positive from the other). Holder structure: HolderScan, canonical-chain-first. Attention and recorded risk events: aixbt. Every readout cites the engine version and peer snapshot that produced it.

Coverage honesty: holder data covers contract tokens on supported chains — native-chain holder structure reads PENDING, not faked. Where a token's contract identity can't be verified against its canonical chain, an identity tripwire refuses the conviction read rather than score the wrong asset. Refusals, pending reads, and low-confidence verdicts are all rendered, never hidden: the gaps are part of the record.