every token page carries a rail of named checks; the radar applies the same heuristics when it scores launches. each check answers one question from observed onchain facts and returns exactly one of three verdicts. nothing here is a guarantee, an endorsement, or financial advice — a token can pass every check and still go to zero.
pass — the fact was observed and nothing obviously wrong was found. "nothing obviously wrong" is the strongest claim any check ever makes.
fail — the fact was observed and it is the shape rugs are made of.
not assessed (unknown) — we could not observe the fact: the data source was unavailable, stale past its freshness ceiling, or the pipeline does not collect it yet. unknown is a blind spot of ours, never a verdict on the token — it does not count toward the passed score, and it is never rendered as clean. absent is absent.
the number on the rail counts passes only: "5/8 passed · 2 not assessed" means five observed passes, one observed fail, two blind spots.
sellabilityfails when the pool is dust (under $2,000 pooled — the exit door is effectively closed) or when the self-pump shape appears (24h volume over 20x the pooled liquidity with fewer than 30 holders — one party cycling buys to paint the price). passes when a tradeable pool is currently observed without that shape. this is a heuristic from pooled liquidity, not a simulated sell.
liquidity_burnedpasses when at least 90% of the pool's LP tokens were sent to a burn address AND the burned pool is real (≥ $3,000 pooled) — burning a $50 decoy pool proves nothing. fails when the burn share was measured below that. locks held by third-party lockers are not yet detected, so an unburned-but-locked pool reads as fail here, not as a rug claim.
holder_concentrationpasses when the top 10 holders hold 40% of supply or less. fails above 60% for any token, and above 40% for meme/unknown tokens (a utility project legitimately holds treasury between 40-60%). measured from Blockscout holder pages.
sniper_sharefrom our own full-chain swap index: distinct wallets that bought within the first 50 blocks of the token's pools. fails at 5 or more (5+ wallets did not each independently notice a seconds-old pool). unknown when the launch predates our index coverage.
contract_verifiedpasses when the token's source code is verified on Blockscout, fails when Blockscout reports it unverified. unknown when the verification status has not been fetched recently.
mint_authoritypasses when the contract was analyzed and no owner-controlled mint path was found; fails when one exists. NOT YET COLLECTED by the pipeline — currently always 'not assessed', shown as such rather than silently passing.
tax_detectionpasses when the contract was analyzed and no buy/sell tax was found in code; fails when a tax exists. NOT YET COLLECTED by the pipeline — currently always 'not assessed', shown as such rather than silently passing.
agepasses when the token is at least 24 hours old (pool creation time when known, first sighting otherwise). time is the one input money does not buy; most rugs happen inside the first day. unknown age counts as young, never as old.
every input carries its own observation clock. market inputs (liquidity, volume, holders, concentration) are withheld once they age past their freshness window, and radar-sourced inputs (contract verification, lp burn) are withheld 2 hours after the last assessment. a check whose input expired reverts to "not assessed" rather than repeating yesterday's answer — a stale clean bill is worse than no bill.
alongside the named checks, the launch radar keeps a blended 0-100 safety score that drives its states: clean (score ≥ 60, plus positive liquidity evidence and at least 24 hours of survival — time is the one input money does not buy), flagged (score < 40, or a hard screen like a dust pool), and watching for everything in between. the three-output assessment (risk gate / opportunity / data confidence) is documented on each token's launch-audit tab; missing data lowers confidence, never the score, because absence of evidence is not evidence.
a launchpad tag appears only when a pool or hook address matches our verified launchpad registry — addresses enter that registry only after being verified on blockscout, and the tag stays absent (not "independent launch") while the registry has no verified entry.
see the checks live on any token page, or browse the launch radar.