live on Solana mainnet, read only

snitches on bundles, dev dumps and clusters before you ape.

Paste a mint and get the full audit right here. 13 checks scored 0 to 100 from DexScreener and the chain, every finding shown, every skipped check listed.

Try with an example: BONK, or the newest pump.fun launch

Heuristics, not financial advice. A low score does not mean safe.

Live feed

New launches, quick-scored.

The latest pump.fun token profiles on DexScreener, scored with the 10 quick checks. Open a row for the full audit with launch history: bundle, dev wallet and clusters.

loading

Quick scores skip the history checks, so coverage is at most 69%. A quick score is a first look, not a verdict.

13weighted checks
0 to 100score, higher is worse
4MCP tools for agents
0runtime dependencies
What you get

One scoring engine, three ways in.

A CLI, a local dashboard and an MCP server on the same code. Read only: no wallet, no keys, no trading.

--watch

Live feed with history

Polls DexScreener for new Solana profiles, scores each one, re-checks what it saw and keeps every score in a local JSONL file.

check <mint>

Full report

Every check with points, findings and coverage. Write it out as markdown or a single-file HTML report.

--alert

Rule based alerts

Discord, Telegram or any webhook, driven by rules like score<25 and liq>10k. Parsed by hand, never eval.

ui

Local console

Live table with score rings, coverage and filters. Click a token and every check opens next to it.

mcp

Agent ready

check_token, scan_latest, explain_score and token_history over stdio for Claude, Cursor and other MCP clients.

rate limits

Polite by default

Stays under DexScreener's 60 and 300 requests per minute, spaces RPC calls at 10 per second, retries 429 and 5xx with backoff.

Scoring

Thirteen checks. Weights add up to 100.

A check that cannot run is skipped and lowers coverage. Skipped is never counted as safe. Under 25 is low, 25 to 49 medium, 50 and up high.

Authorities, bundle and dev wallet carry almost half the weight100
CheckWhat raises pointsWeight
Mint authorityMint authority still set, supply can be inflated15
Freeze authorityFreeze authority set, holder accounts can be frozen12
Bundled launch3 or more wallets bought in the creation slot or the next 2; full weight while they still hold 5%12
Dev walletCreator sold or moved 20% (half) or 50% (full) of the launch bag10
Holder concentrationTop 10 accounts, excluding a likely pool, hold 25% to 50% or more10
Holder clustersTop holders whose first SOL came from the same funder hold 3% to 15% or more9
LiquidityUnder $5,000 or no pair7
Sell pressureSells at least 3x buys with 10 or more sells, 5m or 1h6
Website and socialsNo website and no social links5
Mutable metadataMetaplex metadata can still be changed4
Name and symbolCopies a well known token, zero-width or look-alike characters4
Pair ageYounger than 10 minutes3
Link sanityNot https, URL shorteners, X links that are not a profile3
Terminal

Same answer in your shell.

The site runs the CLI's scoring code. Install it for watch mode, alerts, history and your own RPC. Below: a scan of the latest launches, then a full check on the worst one, example data from the test fixtures.

$npx snitch-cli --watch
snitch terminal session, example data from the test fixtures
MCP

Let your agent check before it buys.

Run snitch mcp and your agent gets four tools. Results are JSON, failures come back as tool errors, logs stay on stderr.

  • check_tokenScore one mint with every check
  • scan_latestScore the newest Solana profiles
  • explain_scorePlain explanation of each point and each skip
  • token_historyScore over time from the local store
claude_desktop_config.jsonstdio
{
  "mcpServers": {
    "snitch": {
      "command": "npx",
      "args": ["-y", "snitch-cli", "mcp"],
      "env": { "SNITCH_RPC": "https://your-rpc.example" }
    }
  }
}
Dashboard

A local console for the live feed.

snitch ui serves one page on 127.0.0.1:4747 and runs the watcher in the background. Nothing opens by itself.

127.0.0.1:4747
snitch dashboard with a live feed of scored tokens, example data

Example data from the test fixtures.

FAQ

Questions.

Does a low score mean a token is safe?

No. The score counts red flags that show up in public data. A low score means none of these heuristics fired, not that the token is safe. This is not financial advice.

How does the website check a token?

Your browser reads DexScreener directly and sends read-only Solana RPC calls through a small proxy at /api/rpc (allowed methods only, cached for 15 seconds). The scoring code is the same file the CLI runs. A full audit takes about 30 RPC calls; when the public RPC rate limits, the affected checks are shown as skipped, never as passed.

Which data sources does it use?

DexScreener's documented public endpoints for profiles and pairs, and standard Solana JSON-RPC calls (getAccountInfo, getTokenLargestAccounts, getSignaturesForAddress, getTransaction, getMultipleAccounts). No API keys.

Do I need my own RPC?

The history based checks make roughly 30 RPC calls per token. The public endpoint works for light use; for watch mode use a private RPC. Set SNITCH_RPC and SNITCH_RPC_RPS.

Can it trade or touch my wallet?

No. It only reads public data. There is no wallet, no signing and no key handling anywhere in the code.

Why was a check skipped?

Data was missing or capped, for example a mint with more than 3,000 signatures where the creation transaction was not reached. Skips lower coverage and are listed in every report.

Check before you ape.

Open source, MIT, runs on Node 18 or newer.

Get snitch on GitHub