Docs

The method, in the open.

Every check, the exact rule behind each mark, the contracts read, and a free JSON API so you can run the rat from your own bot or page.

Quick start

Paste a token address on the home page, or call the API. No key, no wallet, no sign-up.

curl "https://snitch/api/snitch?token=0xYourTokenAddress"

The answer is a list of lines. Each line has a tone, a short sentence, a longer explanation and a pointer to the proof.

The checks

Thresholds are fixed and public. They only decide the mark shown next to a line and its position in the file. The sentence itself is always the raw fact.

Dev wallet dev

Sums every token transfer into and out of the launching wallet since the launch block, and reads its balance now.

Dev sold everything at minute 29.Dev sold 40% of its bag.Dev still holds 2.3%. No sells.

loud wallet emptied, or 50% or more sent out · note some sent out · quiet nothing sent out · info never held. "Sold" is used when at least 95% of the outgoing tokens went back to the curve. Otherwise the line says "sold or moved".

Exempt wallets exempt open

Reads the snipe tax exemption list emitted by the curve at creation. The launching wallet, the fee wallet and the launch router are exempt on every launch and are not counted. Then checks whether the extra exempt wallets bought in the first 5 seconds.

3 extra wallets could buy untaxed at the open.9 exempt wallets bought untaxed at the open.

loud 5 or more extra wallets, or exempt wallets took 5% or more of supply · note any extra wallet · quiet none.

Opening seconds early snipers devbuy

Reads every buy on the curve in the 50 blocks after launch (about 5 seconds). Reports how many wallets bought and what share of supply they took, how many buys paid more than the base fee (the snipe tax), and what the creator bought in the launch transaction itself.

16 wallets bought 41% in the first 5 seconds.Dev bought 4% of the supply at launch.

loud early wallets took 20% or more, or the dev bought 10% or more · note 5% or more, dev 3% or more · info below that.

Creator history history

Counts every other token launched by the same wallet since the factory went live, and reads the phase of the most recent 40 to count graduations.

This wallet launched 14 other tokens.First launch from this wallet.

loud 10 or more · note 3 or more · info 1 or 2 · quiet none.

Holders holders

Rebuilds every balance from the token's own transfer log, removes the bonding curve, the Uniswap pool manager, the locker, the fee contracts and burn addresses, then sums the ten largest wallets as a share of total supply. For tokens with too many transfers for one request, your browser reads the explorer's holder list instead.

Top 10 wallets hold 61%.

loud 50% or more · note 25% or more · quiet below.

Liquidity and age liquidity age

Before graduation: the quote asset actually collected by the curve, and the progress toward the graduation threshold. After graduation: the quote side of the locked full-range pool, derived from the pool's token balance and the amounts it was seeded with. Dollar values use the explorer's ETH price.

$225 of liquidity.$12K of liquidity, locked forever.4 minutes old.

On the curve: loud under $300 · note under $3,000 · quiet above. Age: note under one hour. A failed graduation that used the recovery path is always loud.

Copies copies

Searches the explorer for tokens with the same ticker or the same name, compares holder counts, and for up to 25 copies launched on pons compares launch times. The explorer only answers browsers, so this check runs in yours and is not part of the API answer.

3 other tokens use this name. This one is the oldest.15 other tokens use this name. 3 have more holders.

note at least one copy has more holders · info copies exist but this one leads · quiet none.

Creator tax and fee wallet tax feewallet

Reads the creator tax fixed at launch and the events that record a change of the creator fee wallet.

Creator takes 2% of every trade.Creator fee wallet changed once.

Tax: loud 3% or more · note any tax · quiet none. Fee wallet change: note.

API: /api/snitch

GET /api/snitch?token=0x… returns JSON. CORS is open. Answers are cached for 20 seconds.

{
  "token": "0x534b…8b90",
  "name": "PLOG",
  "symbol": "PLOG",
  "chainId": 4663,
  "checkedAtBlock": 112561204,
  "launchpad": "pons v2",
  "holders": 244,
  "deployer": "0x3f26…7da1",
  "curve": "0x9e50…32ef",
  "phase": 2,
  "headline": "Dev sold everything in the first minute.",
  "counts": { "loud": 2, "note": 3, "quiet": 3 },
  "lines": [
    {
      "id": "dev",
      "tone": "loud",
      "line": "Dev sold everything in the first minute.",
      "detail": "The creator wallet 0x3f26…7da1 received 1% of the supply and holds none of it now. …",
      "proof": { "tx": "0x…" }
    }
  ],
  "facts": { "devHoldsPct": 0, "top10Pct": 24.3, "liquidityUsd": 11740, "creatorTaxPct": 1.5 },
  "limits": []
}
  • tone is one of loud, note, quiet, info.
  • proof holds one of tx, address, holders or search.
  • facts carries the raw numbers behind the sentences, for bots.
  • limits lists anything that could not be read for this token. Empty means every check ran.
  • Errors come back as { "error": "…" } with status 400 (bad address), 404 (not a token) or 502 (chain unreachable).

API: daily and creators

GET /api/daily is the last 24 hours of launches: counts, graduations, the most copied tickers, the wallets that launched most, the launches closest to graduation. Cached 5 minutes.

GET /api/creators ranks creator wallets over the last 7 days by launches and by graduations. Cached 15 minutes.

Both are computed from the factory's event log on every refresh. Nothing is stored between refreshes.

Share links

/t/0x… is the shareable address of a report. Posted on X, it unfolds into a card whose title is the rat's first line for that token. Opened in a browser, it lands on the live report, recomputed at the current block.

Contracts read

All on Chain 4663. The rat only calls view functions and reads event logs. It never sends a transaction.

ContractAddressWhat is read
pons v2 factory0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7eLaunch record, launch events, fee wallet changes, graduations
Bonding curveone per launchLaunch time, collected reserve, buys, exemption list
Launch tokenthe address you pasteName, symbol, supply, balances, transfers
Uniswap v4 pool manager0x8366a39cC670b4001A1121B8F6A443A643e40951Token balance of the graduated pool
pons locker0x267444D099b10fB5Ed7c3Cc7B7c767AdcA574952Identified and set aside in the holder list
Multicall30xcA11bde05977b3631167028862bE2a173976CA11Groups many reads into one request

Limits

  • The public RPC accepts at most 10,000,000 blocks and 10,000 events per log request, and rate-limits bursts. The rat splits long ranges and retries, so a report can take up to ten seconds on a busy day.
  • Launches from the older pons v1 factory are not decoded. They get the basic report.
  • Launches paired against an asset other than ETH show amounts in that asset, without a dollar value.
  • The copies check, and the holder list of very active tokens, come from the block explorer through your browser. The explorer can lag the chain by a few blocks.