Rug Pull Risk Scorer avatar

Rug Pull Risk Scorer

Pricing

from $3.00 / 1,000 token scoreds

Go to Apify Store
Rug Pull Risk Scorer

Rug Pull Risk Scorer

Score ERC-20/BEP-20 token rug-pull risk from honeypot.is simulation + DexScreener liquidity/age. Detects honeypots, high taxes, thin liquidity, brand-new pairs. Heuristic signal, not financial advice. No wallet, no RPC key, no browser.

Pricing

from $3.00 / 1,000 token scoreds

Rating

0.0

(0)

Developer

Tim Zinin

Tim Zinin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Rug-Pull Risk Scorer — Token Honeypot & Liquidity Check

Is this token safe to buy, or a rug pull waiting to happen? Point this Actor at any ERC-20/BEP-20 contract address and get back a 0-100 risk score built from a real honeypot simulation and live DEX liquidity data — and, when the sell-side check can't run, an honest unknown verdict instead of a false all-clear.

⚠️ Not financial advice. This is a heuristic risk signal from public APIs, not a guarantee. Always verify independently before trading.

What you get

  • A "low" score you can trust, because it says "unknown" when it can't say low. If the honeypot simulation is unavailable or fails to complete, the token comes back with riskLabel: "unknown" and reduced confidence — never a "low" verdict built on a check that never actually ran.
  • 🍯 honeypot.is — actually simulates a buy + sell on the contract: is it a honeypot, what are the buy/sell/transfer taxes, how many holders.
  • 💧 DexScreener — live liquidity (USD), 24h volume, and pair age from the token's best on-chain pool.
  • checksPassed / checksSkipped / confidence on every row, so you see exactly which of the four underlying checks the score is — and isn't — built on, not just a number.
  • Unknown chains are rejected, not guessed. An unsupported chainId returns a free error row for every token instead of silently pairing your chain's honeypot check with liquidity data pulled from a completely different network.
  • No wallet, no RPC key, no browser — just two free public APIs.
  • Runs on Apify: schedule it, monitor it, call it from the API or the MCP server, export to JSON, CSV or Excel, or push results straight into your own pipeline.

How to run it

  1. Click Try for free — no card needed on the free plan.
  2. Paste your token contract addresses into Token contract addresses, one per line.
  3. Press Start. Results appear in the dataset — read them in the UI, pull them from the API, or push them onward with a webhook.

Pricing

Pay-per-event: $0.005 per run start + $0.003 per token scored. No monthly seat. 100 tokens cost about $0.31; 1,000 tokens about $3.01.

A token that could not be checked — invalid address, unsupported chain, no data on either source — is still returned, with found: false and the reason, and it is not charged. You pay for a verdict, not for an attempt.

Input

FieldTypeDescription
tokensarray of stringsToken contract addresses to score. Up to 100 per run.
chainIdintegerEVM chain: 1=Ethereum, 56=BSC, 8453=Base, 137=Polygon, 42161=Arbitrum (default 1). Any other value returns a free error row for every token in the run — see FAQ.
maxConcurrencyintegerParallelism (1–20, default 5)
{
"tokens": [
"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
]
}

Output

One dataset row per token. This is a real row from a real run:

{
"token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"chainId": 1,
"found": true,
"name": "Wrapped Ether",
"symbol": "WETH",
"isHoneypot": false,
"buyTax": 0,
"sellTax": 0,
"liquidityUsd": 96516201.51,
"ageHours": 45785.4,
"totalHolders": 3308891,
"riskScore": 0,
"riskLabel": "low",
"riskFlags": [
"honeypot.is: sells simulate OK (not a honeypot)"
],
"confidence": "high",
"checksPassed": [
"honeypot simulation (can the token be sold?)",
"buy/sell tax",
"holder count",
"DEX liquidity & pair age"
],
"checksSkipped": [],
"summary": "WETH — risk 0/100 (low), buy/sell tax 0%/0%, liquidity $96516202. Confidence high (4/4 checks ran). Not financial advice; heuristic risk signal, verify independently.",
"checkedAt": "2026-07-26T15:08:53.657Z"
}
FieldDescription
foundWhether either source had data on this token
isHoneypottrue / false / nullnull means the sell-side simulation did not run or did not complete; treat it as unverified, never as safe
buyTax / sellTaxSimulated tax percentage on buy/sell
liquidityUsdUSD liquidity of the token's best DEX pair on this chain
ageHoursHours since the pair was created (brand-new pairs are riskier)
riskScore0-100, higher = riskier
riskLabellow / medium / high / critical / unknownunknown replaces what would otherwise read as low when the honeypot check never actually completed
confidencehigh / partial / low / none — how many of the four underlying checks (honeypot simulation, tax, holder count, DEX liquidity) actually completed
checksPassed / checksSkippedWhich of those four checks ran, and which didn't, in plain English
riskFlagsPlain-English reasons behind the score

Not found (both sources have no data, or the chain is unsupported) → same shape with found: false and an error, and never billed.

How the score is built

riskScore is a weighted heuristic, not a guarantee:

  • Honeypot confirmed → score ≥ 90 (dominant signal — nothing else matters if you can't sell)
  • Honeypot check unavailable or inconclusive → +15 to the score, and riskLabel cannot land on low — see below
  • High buy/sell/transfer tax (>10%) → +10 to +15 each
  • honeypot.is risk level / flags → up to +20
  • Thin liquidity (<$10k, <$1k) → +12 to +25
  • Brand-new pair (<24h, <7d) → +5 to +15
  • Very few holders → +5 to +15

Why "unknown" exists. honeypot.is going down, timing out, or failing to simulate a sell used to leave the row looking identical to a token that had actually been checked and cleared — isHoneypot: false. That is the one thing this tool refuses to do: an absent check is not evidence of safety. When the sell-side check doesn't complete, isHoneypot is null, riskLabel reads unknown instead of low, and confidence / riskFlags say exactly why.

Why an unrecognized chain is rejected. DexScreener returns pairs for a token address across every chain that happens to have one — several EVM chains are genesis forks of Ethereum and reuse the same addresses with entirely different liquidity. Passing a chainId this Actor doesn't recognize used to leave the chain filter switched off, so the honeypot simulation ran against the chain you asked for while the liquidity numbers came from whichever network had the deepest pool for that address — one row silently describing two different tokens. An unsupported chainId is now rejected up front, for every token in the run, before any of that can happen — and it costs you nothing.

Need the rest of the picture?

These run on the same account, take the same shape of input and bill the same way, so they slot into an existing pipeline without new plumbing.

ActorWhat it does
Token Launch RadarLook up any token contract address or ticker across DEXes and get liquidity, 24h volume, pair age, a 0-100…
AI Crawler Access CheckerCheck which AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended & more) can access your website
B2B Lead EnricherTurn a list of company websites into sales-qualified lead cards: detected tech stack, a rough revenue…
Clinical Trials MonitorWatch conditions, drugs or sponsors for new and updated clinical trials
Company Hiring RadarPull every open role a company is hiring for from its public job board (Greenhouse, Lever, Ashby) and turn…

FAQ

Does it need a wallet or RPC key? No — both sources are free, keyless public APIs.

Does a "low" score mean the token is safe? No. It means no risk signals were detected across two public data sources, with the honeypot simulation actually completing, at the time of the check. Contracts can change behavior, liquidity can be pulled after the check, and no automated scan replaces due diligence.

What does an "unknown" score mean? The sell-side simulation could not be completed — honeypot.is was unreachable, timed out, or could not simulate a sell. Nothing about the token is confirmed safe; treat it the same as a token you haven't checked yet.

Which chains are supported? Ethereum (1), BSC (56), Base (8453), Polygon (137), Arbitrum (42161). Any other chain ID returns an error row for every token in the run, not a mismatched or partial one — and it's free.

Can I call it from an AI agent? Yes — it's a standard Apify Actor, callable via the Apify API or the Apify MCP server.

What this is NOT. It does not read source code for backdoors, does not check ownership/mint functions, and does not track wallet-level behavior. It answers two narrow questions from two free public sources — can this contract's sell path be simulated successfully, and is there real on-chain liquidity — and says so honestly, including when it can't.

Found a wrong result, or need a check we don't run? Open an issue on this Actor's page.


Built by zinin. Questions? Telegram @timzinin.