Every Solana SPL token on rugorrich.gg gets a 0-100 safety score (and an inverse 0-100 rug score) built from eight on-chain signal families. Higher is safer. Below 30 the engine returns a DANGER verdict; above 80 it returns SAFE. The score is not a price prediction — it is a structural-risk read of the contract, the supply, the liquidity, and the people holding it.
The engine starts at 100 and subtracts. Each signal family has a fixed maximum it can deduct (a cap), so no single category can dominate. Hard-fail conditions (honeypot, blacklist, pausable transfers on a token claiming to be free-floating) clamp the score to ≤ 5 regardless of how well everything else looks. Confidence below 30% caps the score at 50 — the engine refuses to declare safety when the data is too thin.
Does the deployer still hold mint authority? Freeze authority? Is the token frozen right now? An open mint authority on a token claiming fixed supply is a structural rug — the deployer can dilute holders at any time. We read these flags directly from the SPL token program.
Top-1, top-10, top-50, top-100 and top-200 holder share. We deliberately skip wallets labelled as DEX pools, LP routers, or program accounts — a Raydium pool sitting at #1 is liquidity, not a whale. The thresholds we punish: top-1 wallet over 5%, top-10 over 35%, top-50 over 60%.
Buy tax, sell tax, transferability. Asymmetric tax (low buy, high sell) is the classic honeypot. We also score whether the sell-tax field is known — an unknown sell tax is treated as moderate risk, not zero risk, because the data gap itself is a warning.
How many tokens has this wallet deployed before? How many of them rugged? How many migrations? Twitter-handle reuse, handle rename count. A deployer with three prior rugs is structurally higher-risk than a first-timer, even if this contract looks clean in isolation.
Liquidity-to-market-cap ratio, LP burn rate, max-ever-liquidity vs current. A token that briefly hit $400k liquidity and now sits at $40k is showing exit pressure — the score reflects that even before the chart breaks.
Organic vs bot volume, first-buyer retention, smart-money composition (snipers, insiders, copy-traders), share of the top-10 holders that are themselves flagged wallets. Behavioural signals are the lightest cap because they are the noisiest — but they catch coordinated launches that look clean on every other axis.
Honeypot flag set. Pausable transfers on a token claiming to be free-floating. Active blacklist. Mutable balance. Any one of these clamps the safety score to ≤ 5 regardless of other points. These are exit-blocking contract states, not "more risk".
LP burned, mint and freeze authorities revoked, age over 30 days, healthy first-buyer retention. Positives can never push the score above what the deductions allow — they only restore points lost to weaker signals. This prevents a half-rugged token from scoring "safe" because of one clean field.
Most rug scanners add raw points and let totals overflow. That is wrong, because the signals are correlated: snipers, insiders, bundlers and top-10 concentration are usually the same wallets wearing different labels. Without caps, one underlying problem ("a coordinated group owns the supply") gets counted four times. With caps, every category gets one vote, and the verdict reflects breadth of risk rather than depth in a single dimension.
Every signal family also reports whether its inputs are known. A token where we have no holder data, no security flags, and no liquidity history is not "safe" — it is unscored. The engine surfaces confidence explicitly and caps the displayed score at 50 when confidence is below 30%. We refuse to bluff on insufficient data.
A token under six hours old cannot score above 70, even with every flag clean. There is no track record yet — first-buyer retention, organic volume, deployer behaviour all need real time to mean anything. This is the same principle as a credit score on someone with three days of file history: technically clean, structurally unknowable.
| Score range | Verdict | What it means |
|---|---|---|
| 80 – 100 | SAFE | No hard-fail signals, low concentration, healthy liquidity, deployer track record. |
| 60 – 79 | OK | Acceptable. One or two moderate signals. Position sizing matters. |
| 40 – 59 | CAUTION | Multiple moderate signals or one strong one. Read the breakdown before sizing. |
| 20 – 39 | RISKY | At least one strong signal, several moderate. Most degens lose money here. |
| 0 – 19 | DANGER | Hard fail present or stacked strong signals. Treat as an exit-only position at best. |
The wallet terminal applies a related but distinct framework over a 30-day window: realised PnL, transaction success rate, fee burn rate, exposure to known rug-pull tokens, share of trades routed through MEV-sandwich detectors, and the pattern mix (snipes, bundle attacks, dust attacks, whale moves). The score maps to a letter grade A through F. A wallet above 70 is a consistent winner; below 30 is structurally cooked. The same caps-and-clamps logic applies — no single signal dominates.
All scores are computed from on-chain Solana data plus standard token-metadata and security-flag feeds. The terminal does not consume curated lists or paid signal services. Every input that contributes to a score is visible in the breakdown card on the relevant token page — if a signal is in the score, you can click through to the raw data.
The deployer history is only as deep as our coverage of the deployer's prior wallets. A new wallet that funded the current deployer one block before launch will look first-time-clean even if the operator has rugged ten projects from sister wallets. We are working on cross-funding clustering, but until then, a clean deployer score on a freshly-funded wallet is weaker than a clean deployer score on a wallet with 90 days of provable trading history.
The score is a tool, not a verdict. It is meant to be read alongside the breakdown card, the holder table, the deployer intel, and your own knowledge of the meme. Nothing on rugorrich.gg is financial advice. See terms for the full disclaimer.