Tokens / Methodology

Methodology · version 2026-10-29

How SheetScore works

SheetScore is DexSheet's 0–95 rug-risk score for the tokens on our hot list. It weights automated on-chain checks into five pillars: can you sell, who can change the rules, whether the liquidity is real, who holds the supply, and the token's track record. A fatal finding, such as a token you cannot sell, caps the score at 10. No token scores above 95.

SheetScore is a weighted estimate of rug risk from public on-chain data at the time shown. It is not a guarantee, a calibrated probability or financial advice. A high score means we found fewer of the known rug patterns, not that a token is safe or will hold its price. Nothing is 100% safe.

The five pillars

PillarWeightWhat it measures
Can you sell?30%Sell route or sell simulation, real holders' sell outcomes, buy and sell tax.
Who can change the rules?30%Mint, freeze, pause, blacklist, upgrade and owner powers, and who holds them (nobody, a known bridge or issuer, a multisig or timelock, or a single wallet).
Is the liquidity real?20%Pool depth, whether liquidity has collapsed from its peak, and, for tokens under 30 days old, whether the creator can pull the LP.
Who holds it?12%Share held by the 10 largest ordinary wallets after excluding pools, burn addresses, lockers, vesting contracts, bridges and labelled exchanges, plus the creator's share.
Track record8%Age, verified source code, RugCheck's second opinion and, on Solana, Jupiter verification.

The weights add up to 100%. "Can you sell?" and "Who can change the rules?" carry the most because they are how buyers actually lose money: a token that can't be sold, or one whose rules someone can change after you buy.

How the score is calculated

  1. Every check belongs to one pillar and earns a credit from its result (table below). A check can count for more than others inside its pillar.
  2. A pillar's score is the weighted average credit of its checks, times 100. One failed check caps its pillar at 35, and one warning at 80, however many other checks in it pass.
  3. Checks that don't apply to a token are marked Not applicable, shown greyed and left out. For example, whether the creator can pull the liquidity only matters for tokens under 30 days old. A pillar with no applicable checks drops out, and its weight is shared among the others in proportion.
  4. SheetScore is the weighted average of the pillar scores, rounded, then capped at 95.
  5. Score caps then apply (below): the lowest cap that fits the token wins.
  6. If any fatal check fails, the score is capped at 10 and the band is Failed, whatever the other pillars say.
Check resultCreditMeaning
Pass1The check found nothing wrong.
Info1A risk factor shown for context (for example other tokens using the name). Never moves the score.
Warning0.55Something a buyer should weigh.
Fail0.1A real problem that is not, on its own, a trap.
Unknown0.5The check could not run.
Unknown (critical check)0.25A core check, like the sell test, could not run.

Worked example. A token with perfect pillars except "Who holds it?" at 55: (30 × 100 + 30 × 100 + 20 × 100 + 12 × 55 + 8 × 100) ÷ 100 = 94.6, which rounds to 95. SheetScore 95.

Score caps

Caps are track-record and weakest-link ceilings: a token can't buy its way to a high score with many passes when one thing is wrong, or when it is brand new. After the weighted average is worked out, every cap that fits the token is applied and the lowest one wins. The token page says which cap applied and why.

Track record: how long the token has existed

Token ageHighest SheetScoreBest possible band
Younger than 1 day50Elevated risk
1 to 7 days old64Elevated risk
7 to 30 days old79Moderate risk
30 to 90 days old89Low risk
90 days or older95Low risk
Age unknown64Elevated risk

On-chain checks cannot see a dev dump or a bundled sell, so a short track record limits the score.

Weakest link

ConditionHighest SheetScoreBest possible band
Any non-fatal fail in Can you sell?, Who can change the rules? or Is the liquidity real?, or in Who holds it? for a token younger than 30 daysAny failed check in a core pillar limits the score, however clean the rest is.59Elevated risk
One ordinary wallet holds a live upgrade, mint, pause, blacklist or freeze power.74Moderate risk
Low confidence (fewer than 60% of the checks, by weight, returned a result)Too few checks could be completed to support a higher score.64Elevated risk

Inside a pillar, one failed check limits the pillar to 35 and one warning to 80, so passes cannot wash it out.

On a token page the cap that decided the score is named in one line, for example "Capped at 64: it is 3 days old." The 95 ceiling and the fatal cap are not repeated there: the score and the Failed band already say it.

Fatal findings

Some findings mean a buyer can lose everything no matter how good the rest looks. Any one of them caps SheetScore at 10, marks the token Failed and removes every buy link, swap and referral code from its page. The check that decided it is marked on the page. Fatal findings include:

When two tools disagree about a deal-breaker, we don't pick a side: the check counts as a non-fatal fail and shows both results, unless on-chain evidence settles it, such as real holders failing to sell or our own test transfer reverting.

Bands

BandSheetScoreOn the token page
Low risk80–95Normal page with places to buy.
Moderate risk65–79Normal page with places to buy.
Elevated risk45–64Normal page; the flagged checks are listed first.
High risk11–44Normal page; the flagged checks are listed first.
Failed0–10Warning page. No buy links, no swap, no referral codes.
Unratedno numberOur core checks could not run. Places to buy carry a "not checked" note, and there is no swap.

Bands describe how many known rug patterns we found, not a probability. "Low risk" is never "no risk".

Confidence

Every score comes with a confidence level: the share of the applicable checks, by weight, that actually returned a result. High means at least 85% did, medium at least 60%, and low anything less. A check that could not run still earns partial credit, so a low-confidence score can sit closer to the middle than the token deserves in either direction.

Who holds it: what we exclude

A raw "top 10 holders" figure is misleading: pools, burn addresses and vesting contracts look like whales. Before measuring concentration we set aside liquidity pools, launchpad curves, burn addresses, lockers, vesting contracts, bridge custody and labelled exchange and treasury wallets. Each token page lists what was set aside and how much it holds, so the remaining figure can be checked.

Risk factors

Some things are worth knowing but say nothing about the contract itself, such as other tokens using the same name. They appear under "Risk factors" on the page, shown neutrally, and never change the score.

What SheetScore can't see

Where the data comes from

Every source is free and public, and every check on a token page names the one that produced it.

Which tokens get a score

We publish a page when a token on Solana, Ethereum, Base, BNB Chain, Arbitrum, Robinhood Chain or HyperEVM has real trading demand: at least $75,000 of liquidity, $250,000 of 24-hour volume, at least 6 hours of trading, and either two independent trending sources or very high volume from one unpaid source. Large, long-running tokens ($1M+ liquidity, $5M+ daily volume, 30+ days old) stay listed too. A paid DexScreener boost alone never qualifies a token. Stablecoins are left off the list. A token that isn't listed hasn't been scored; that says nothing either way.

Addresses on each page are the token our pipeline tracks. Other tokens using the same name or symbol are listed with their own addresses: many are copycats, some are legitimate bridged versions, and copycat liquidity that looks fake is shown as "reported liquidity unverified". Prices are snapshots refreshed about every 15 minutes, never live.

Referral links

Where we show places to buy a token, some links are referral links that pay DexSheet a share of fees. Referrals never change a score, and Failed tokens get no buy links at all. See the disclosure.

Data

Scores for every listed token are in /tokens.json (score, band), and agents can query them through our MCP server (check_token, trending_tokens). When citing, please say "SheetScore NN/100 (band)" with the date it was checked.

Calibration

Calibration in progress since 29 Oct 2026: we record every token's score daily and what happens to it afterwards, and will publish how often each band went bad once each band has enough tokens.

Last updated 29 Oct 2026.

Questions

How accurate is SheetScore?

We are measuring it. Since 29 Oct 2026 we record every listed token's score daily and what happens to it afterwards (a fatal finding, liquidity or price collapse, trading stopping). Once a band has at least 200 tokens we publish how often tokens in that band went bad within 7 and 30 days, with a 95% confidence interval; until then we show no accuracy figure. See the Calibration section of this page.

What is DexSheet's SheetScore?

SheetScore is DexSheet's 0–95 rug-risk score for crypto tokens. It combines automated on-chain checks in five weighted pillars: can you sell (30%), who can change the rules (30%), is the liquidity real (20%), who holds it (12%), track record (8%). Any fatal finding, such as a token that cannot be sold, caps the score at 10 and marks it Failed. Each token page shows the score, its band, how confident we are, every check and when it ran.

Is a high SheetScore a guarantee?

No. SheetScore is a weighted estimate of rug risk from public on-chain data at the time shown. It is not a guarantee, a calibrated probability or financial advice. A high score means we found fewer of the known rug patterns, not that a token is safe or will hold its price. Nothing is 100% safe.

Why does no token score above 95?

On-chain checks cannot see off-chain risk (a team selling its tokens, a hack, a new kind of trick), so no token scores above 95.

Why does a new token score lower even if every check passes?

Because a short history is a risk in itself: a brand-new token hasn't yet shown it can survive, and a few hours of clean checks say little about what its creators will do next. On-chain checks cannot see a dev dump or a bundled sell, so a short track record limits the score. SheetScore caps scores by age: 50 under 1 day, 64 under 7 days, 79 under 30 days, 89 under 90 days, and up to 95 after that. A token younger than 7 days can't score above 64 however many checks it passes.

What does a Failed SheetScore mean?

At least one fatal check failed: for example the token cannot be sold, someone can mint or freeze it at will, someone else can move holders' tokens, a sell tax is above 10%, or the liquidity collapsed or was pulled (down more than 80% from its 7-day peak). The score is capped at 10 and DexSheet shows no buy links, swaps or referral codes for the token.

How often is SheetScore updated?

When a token first qualifies for our list, then every 6 hours while it is hot and every 24 hours after that, plus immediately if its liquidity drops by more than half between runs. Each page shows when the score was last checked.

What does an Unrated SheetScore mean?

Our core checks could not run (a data source was down or returned nothing), so we show no number. Treat the token as unchecked.

Disclaimer

SheetScore is a weighted estimate of rug risk from public on-chain data at the time shown. It is not a guarantee, a calibrated probability or financial advice. A high score means we found fewer of the known rug patterns, not that a token is safe or will hold its price. Nothing is 100% safe. Nothing on DexSheet is financial advice.