Research summary on how rugcheck.xyz maps scores to risk qualifiers, for reference when tuning the liquidity scoring sub-component.
Each entry in the risks[] array carries a level string. Known values:
| Level | Meaning |
|---|---|
"DANGER" |
Critical red flag |
"WARN" |
Warning-level concern |
"INFO" |
Informational only |
These are the qualifiers used in score_liquidity() for the 3-pt sub-score (counts DANGER-level risks).
Rugcheck provides no public documentation mapping these fields to named labels.
Cumulative additive risk score. Higher = worse. Observed range: 0 to 75,000+.
Best-effort thresholds used in our scoring (src/rugcheck.rs):
Raw score |
Implied risk | Points awarded |
|---|---|---|
| < 200 | Low risk | +7 |
| 200–349 | Moderate risk | +5 |
| 350–499 | Elevated risk | +2 |
| ≥ 500 | High/Critical | +0 |
Appears to be derived from the raw score, scaled to approximately 0–100 where higher = safer (inverse of raw). No official documentation exists. A third-party OKX integration script that reverse-engineers rugcheck's UI suggests:
score_normalised |
Label | Color |
|---|---|---|
| ≥ 70 | Low Risk | Green |
| 40–69 | Medium Risk | Orange |
| < 40 | High Risk | Red |
score_normalised is not used in the current scoring logic. The raw score is the more reliable signal.
- The "Good / Warning / Danger" labels shown in rugcheck's own UI are almost certainly derived from the raw risk scores of individual
risks[]items, not fromscore_normalised. - Our code ignores
WARNandINFOlevel risks; onlyDANGERaffects the score. score_normalisedis deserialized but unused — kept for potential future use.