Token checker
Paste a contract address, get a safety score from 0 to 100 (higher is safer), a verdict, and every flag behind it.
The checker runs three ways: when you paste a contract address anywhere in Minto (or on the home page), when your bot considers a trade, and when someone tags @tradewithminto on X. Reports are cached for about 45 seconds and can be force-refreshed. Every report has a shareable link at /check/<mint>.
Flags
Every check
| Check | Good | Danger | Weight |
|---|---|---|---|
| Mint authority | Revoked | Still active (dev can print more) | 5 |
| Freeze authority | Revoked | Active (dev can freeze your tokens) | 5 |
| Token-2022 extensions | Classic SPL, or harmless extensions | Transfer fee, transfer hook, permanent delegate, pausable, non-transferable, default account state | 4 |
| Launch platform | Identified (pump.fun, bonk.fun, Raydium…) | – | 0.5 |
| Liquidity | ≥ $50K (caution ≥ $10K) | < $10K | 4 |
| Liquidity / market cap | ≥ 10% (caution ≥ 4%) | < 4%. Skipped on bonding curves and caps over $20M | 2 |
| Bonding curve | – | Always caution while still on the curve | 1 |
| Holder count | ≥ 500 (caution ≥ 100) | < 100 | 2 |
| Top 10 holders | ≤ 25% (caution ≤ 40%) | > 40% | 4 |
| Dev holding | ≤ 5% (caution ≤ 15%) | > 15% | 3 |
| Organic activity | Score ≥ 50 (caution ≥ 20) | < 20: bots, bundles or wash volume | 3 |
| Suspicious flags | – | Flagged suspicious by Jupiter | 5 |
| Snipers / bundles / insiders | – | Needs deep wallet tracing (Helius). Shown as unknown for now | 3 |
| Dev history | 1 token launched | Flagged dev, 2+ rugs, or 20+ launches (caution 4-20) | 3 |
| Social links | 2+ of X / website / Telegram | None at all | 1.5 |
| Social reuse | Not seen on other tokens | Same X handle or website used by another token | 4 |
| DexScreener paid | Paid profile | Caution if not paid (never danger) | 0.5 |
| 1h activity | Healthy buys vs sells | Sells > 1.8× buys (caution under 20 trades) | 1.5 |
| Wash trading | ≥ 30% organic volume | < 10% organic. Only for tokens under 30 days old | 2 |
| Token age | 30+ minutes | Caution under 30 minutes | 1 |
| X sentiment | Score ≥ 30 | < -10 (caution in between) | 2 |
How the score works
- Each check gives a flag. Good counts as 1, caution as 0.5, danger as 0. Unknown checks are left out.
- The score is the weighted average × 100. Weights live in config, not code, and can be tuned without a deploy.
- Revoked authorities and a known launchpad are table stakes (every pump.fun token has them), so a “good” there earns only 30% of its weight while a “danger” costs the full amount.
- Hard caps: any danger on mint authority, freeze authority, Token-2022 extensions, social reuse or suspicious flags caps the score at 35. Three or more dangers of any kind cap it at 45.
The verdict
| Score | Verdict | Minto |
|---|---|---|
| 72 – 100 | Worth a look | Sparkly eyes. Still not a guarantee. |
| 50 – 71 | Risky | Mixed bag. Small size if at all. |
| 0 – 49 | Avoid | That's a snake. I'd pass. |
Sentiment
With an xAI key configured, xAI searches X and the web for the ticker, contract address and project name. You get a score from -100 to 100, a confidence level, the mention trend, notable accounts (with likely paid promoters marked), common narratives and red flags such as many accounts posting identical text. Token names, tweets and websites are treated as untrusted data and never as instructions.
The social reuse database
Every token Minto sees, whether someone checked it or the engine just scanned it, has its X handle and website domain stored. Rug teams love recycling socials, so reuse is flagged as danger. This database gets better every day.



