Skip to content
BSC

How we score tokens

Last updated 16 October 2026

Every BNB Chain token with a PancakeSwap pool holding at least $1,000 gets an automated safety score from 0 to 100, a label and a confidence line. It is a risk indicator built from on-chain checks, not a guarantee and not financial advice.

ScoreLabel
75 – 100Low risk
45 – 74Caution
0 – 44High risk

Confidence. Each scan says “Fully checked (7 of 7)” or “Partially checked (5 of 7)”. A check that couldn't run counts as unknown, never as passed: it costs 5 points.

Critical checks. If one of these couldn't run, the score can be at most 74 (Caution) until it does: the sell test; whether the LP is burned or locked (unless the pool is established, see below); and the holders of a token under 7 days old. If we can't prove a token's age, we treat it as under 7 days.

Plain facts. Reports describe what we found, for example “Sell test failed”, “Buy test failed”, “Liquidity removed” or “Transfers blocked”. Messages written by a token's own code are never shown.

How the score is calculated

  1. Start at 100 and subtract points for each finding (first table).
  2. Then apply the limits (second table): the score can't be higher than the lowest limit that applies.

Points subtracted

CheckHow we check itPoints lost
Sell testA test buy, a send to another wallet, then a sell, all simulated. Nothing is sent to the chain (details below).Failed: see limits
TaxMeasured in the same test: what the pool should give vs. what arrives. The worst of buy, sell and wallet-to-wallet tax counts.up to 1%: 0 · up to 5%: 5 · up to 10%: 15 · up to 25%: 30 · above 25%: 45
Transfers blockedThe test send to another wallet failed.20
Source code verifiedPublished and verified on Etherscan/BscScan or Sourcify.Not verified: 15
OwnerThe contract's owner. It counts as renounced when the owner is the zero or dead address.Not renounced: 5
Owner powersFunctions only the owner can use, found in the contract code. They only count while someone controls the contract.Mint new tokens 20 · Pause / stop trading 15 · Blacklist wallets 15 · Change the tax 10 · Max wallet / transaction limits 5 · at most 40. Held by a recognised multisig, timelock or farm contract: 25% of that.
UpgradeableStandard proxy patterns where an admin can replace the code.Admin can still replace the code: 20
Liquidity (LP) burned or lockedShare of the main pool's LP tokens held by burn addresses or locked in PinkLock, UNCX or Team.Finance. Expired locks count as unlocked.Below 50%: 30 · 50–95%: 15 · a lock ending within 30 days: +10 · at most 30. Established pools: 0.
Top 10 holdersShare of circulating supply held by the 10 biggest wallets. Burn addresses, the token's own pools and lockers are not counted.over 50%: 20 · over 30%: 10 · over 20%: 5
UnknownA check that couldn't run (for example LP of a V3 pool, or a service being down).5 each

Limits (hard caps)

SituationHighest possible score
Sell test failed or Buy test failed (or the token keeps 50%+ of a sale)20
Liquidity removed (under $100 left in the pools)20
One wallet holds over 50% of the supply30
LP under 50% burned/locked and the top 10 wallets hold over 50% (not for established pools)40
One wallet holds over 20%60
A critical check couldn't run74

Who holds the owner powers

Owner is…Penalty for owner powers
An ordinary walletFull
A multisig needing 2 or more signatures25%
A timelock whose changes wait 24 hours or more25%
A staking / farm contract (for example PancakeSwap's MasterChef)25%
Any other contract, a 1-of-N multisig, or a shorter timelockFull
No owner() function, but owner-only functions existFull

Unrecognised contracts get the full penalty on purpose: otherwise anyone could hide a wallet behind a tiny contract. The report always says which type the owner is.

Established pools

If the main pool is older than 30 days and holds more than $500,000, LP that isn't locked is not penalised. That is normal for large tokens, whose LP sits in farms and with many holders. The sell test, the tax and every other rule stay exactly the same.

The sell test in detail

  1. A small test contract is placed at a new random address inside a single simulated call. It is never deployed. It buys about $50 of the token straight from the main pool (never more than 0.5% of the pool), sends 10% to another random wallet, and sells the rest. Because the address is new every time, a token can't prepare for it.
  2. If that test can't buy or sell, the trade is repeated the way a person would do it: from a plain wallet, through the official PancakeSwap router. It only counts as failed if both fail.
  3. Nothing is ever sent to the chain. No real money is used, and no keys are involved.

A new wallet being unable to buy also counts as a failed test: either trading isn't open yet, or only selected wallets can trade.

How often we check

Every new token is scanned when its pool reaches $1,000 of liquidity, then every 15 minutes for its first 24 hours and every 6 hours after that, plus immediately whenever its liquidity moves by 30% or more.

What a scan can't catch

  • Changes after our scan. An owner can switch on a sell block, raise the tax or blacklist wallets after we check. Rescans narrow this window but can't close it.
  • Time, block or size rules. Taxes or limits that depend on the time, the block or the trade size may look different in a real trade.
  • Owner powers are found by function name. Unusual names can be missed.
  • V3 pools. LP lock isn't checked yet for PancakeSwap V3, where liquidity is held as NFTs.
  • Holders are checked for tokens under 7 days old.
  • Lockers we don't know count as not locked.

Not financial advice. Do your own research. Questions about a score? See official links.