FINNPUTER/scan
live on mainnet
token safety · x402

See the wallets
they try to hide.

The FINNPUTER safety scan, now a pay-per-call API. Your agent — or you — pays a few cents over HTTP and sees the on-chain red flags before the buy. Signals, not guarantees: it lowers risk, it can't catch everything.

finnputer · safety scan · real output
$ scan mint 2Fob…pump (sAGENT)
rugcheck risk 1 · "Good" · 0 risks listed
 
cluster 1 timing · 7 wallets · slot 433127525
61ys…knhk bought 21:11:49
51ZJ…Qg53 bought 21:11:50
B1HC…oj2G bought 21:11:50
+3 more bought 21:11:50–52
window 7 wallets in 3 seconds
authority mint revoked · freeze revoked
holders top 10 = 26.7% (LP excluded)
BUNDLE PATTERN 3/5   0.5% of supply · not a verdict
every other scanner called this clean · you decide
! Signals, not guarantees. FINNPUTER surfaces on-chain red flags so you — or your agent — can make a better call than buying blind. It lowers risk; it cannot catch everything, and it does not predict price. Not financial advice.
01

The check runs before your money moves

Same engine that runs inside the FINNPUTER Trade bot — now exposed as a paid endpoint anything can call. A request comes in, the server answers HTTP 402 — Payment Required, the caller's wallet pays the exact amount, the request retries, and the scan comes back. No account, no API key, no subscription. Payment is the access.

02

What the scan shows you

The two that matter most — because they catch what a snapshot can't:

core

Wallet cluster mapping

Traces shared funding sources and coordinated buys that move as one — so ten wallets behind one actor read as one actor, not ten "organic" holders.

cluster → 6 wallets · 1 funder · bought together
rare

Forward detection

Follows tokens forwarded to hidden collection wallets — the exit they prep early. A cluster can dissolve so the snapshot looks clean; the trail still shows where supply went.

snapshot clean · trail → forwarded to collection wallet
freshFresh-wallet scoring — flags wallets created under 24h before launch. The farm, surfaced.
snipersSniper tracking — bots buying in the first blocks, before you ever click.
authorityMint & freeze authority — whether the dev can still mint more or freeze your tokens.
LPLP lock status — is the liquidity locked or can it be pulled.
holdersHolder concentration with LP pools excluded, so the top-holder numbers are honest.
lockedLocked supply, totalled: how much sits in Streamflow or other locker vaults, in how many wallets. RugCheck labels those addresses and never adds them up — we do.
verdictA plain summary — e.g. "2 clusters · 1 forward · trade with care." Signals to weigh, not a buy/sell call.
03

How an agent uses it

STEP 1

Ask

Agent calls the scan endpoint with a token mint.

STEP 2

402

Server replies "payment required" with the exact price.

STEP 3

Pay

The caller's x402 client signs and settles the USDC automatically.

STEP 4

Signals

Same request retries, returns the flags. The agent decides.

POST https://api.finnputerdex.com/scan · 0.02 USDC · deep · ~90s
POST https://api.finnputerdex.com/scan/quick · 0.005 USDC · quick · ~3s
Deep walks the funding and transfer graph, so it takes ~90s — that is the work, not a queue. Repeat scans within 5 min return instantly from cache. Set your client timeout accordingly.
npm install x402-solana @solana/web3.js bs58
import { createX402Client } from "x402-solana/client";
import { Keypair } from "@solana/web3.js";
import bs58 from "bs58";

// the wallet your agent pays from — needs a little USDC and a little SOL
const kp = Keypair.fromSecretKey(bs58.decode(process.env.PAYER_SECRET));
const wallet = {
  address: kp.publicKey.toString(),
  signTransaction: async (tx) => { tx.sign([kp]); return tx; },
};

// amount is a safety cap in atomic USDC — never signs more than this
const client = createX402Client({ wallet, network: "solana", amount: BigInt(1_000_000) });

// just fetch. the 402 → pay → retry handshake happens inside.
// /scan       = deep,  0.02 USDC, ~90s, clusters + forwards
// /scan/quick = quick, 0.005 USDC, ~3s, contract + holders + locks
const res = await client.fetch("https://api.finnputerdex.com/scan", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ mint }),
});

const { scan, paid, settled } = await res.json();

What comes back — real output, trimmed (BRO, 15 Jul 2026). RugCheck scored this token risk 1, "Good", 0 risks listed:

{
  "scan": {
    "locked": {
      "locked_supply_pct_min": 14.85,
      "locked_holder_count": 6,
      "by_locker": { "Streamflow Vault": { "supply_pct": 14.85, "holders": 6 } },
      "unlock_dates_known": false,
      "coverage_gaps": [
        "rugcheck did not run a locker scan for this token",
        "only the top 20 holders were checked on-chain",
        "1 more locker account(s) exist below the top holders (Printr Stake Pool)",
        "no unlock dates were supplied"
      ]
    },
    "bundles": {
      "bundle_detected": true, "bundle_pattern_strength": 3,
      "clusters": [{ "type": "timing", "wallet_count": 7,
                    "window_seconds": 8, "supply_pct": 0.5 }],
      "forwards": [], "forward_count": 0,
      "lp_wallets_excluded": 1
    },
    "risk": {
      "score": 75, "level": "LOW",
      "warnings": ["Bundle patterns detected (strength 3/5)"],
      "passes": ["Mint Authority revoked", "LP locked",
                  "At least 14.8% of supply locked via Streamflow Vault (unlock date unknown)"]
    }
  },
  "paid": "0.02 USDC", "settled": true, "depth": "deep"
}

Note what the verdict is not: this token scores LOW. Seven wallets buying in three seconds is a signal, not a conviction — and the report says which checks it could not complete rather than implying a clean bill of health.

Not building an agent? The same scan is built into the FINNPUTER Trade bot — run it on any mint straight from Telegram, before you buy.

04

Pricing & the burn

$0.02
deep
full graph analysis · ~90s · POST /scan
Solana, Base, Ethereum, Robinhood Chain and Stable. Send a mint or a 0x address; the chain is resolved by asking the market where it trades.
  • Wallet clusters traced through shared funding
  • Supply forwarded to collection wallets
  • Fresh wallets, snipers, locked supply
  • Everything below, plus the trail
$0.005
quick
contract, holders, market · ~3s · POST /scan/quick
  • Mint & freeze authority, LP lock
  • Holder concentration, LP excluded
  • Locked supply, totalled
  • Says plainly what it did not check
$0.01
the record
what it caught, and whose buys it watches · POST /runners · POST /wallet
  • Tokens we scanned that later ran, from our first scan to the peak
  • One wallet's rating, and which tokens it was early in
  • What the token did and what the wallet made from it
  • Database reads, not analysis, so they cost less than a scan

No account, no API key, no subscription. USDC on Solana, settled on-chain. Payment is the access.

Where the money goes

Scan revenue lands in the treasury and is held for $FINNPUTER buyback and burn — the same loop the Trade bot's fees already run, on-chain and provable. Straight from scan revenue this isn't automated yet, so treat it as the plan, not a live mechanism.

scan fee → treasury · live
treasury → buy $FINNPUTER · planned
$FINNPUTERburn 🔥 · planned

see the Trade bot burns ↗

Scan first. Then ape.

One request. A few cents. The flags in front of you before you commit.

Run a scan