W

Workers · Chain Token Security

by Workers

GETBase

$0.02

per call · USD Coin on Base

Token security / honeypot detector for a Base mainnet ERC-20: EIP-1967/1822 proxy + upgradeability detection, bytecode dispatcher scan for mint/pause/blacklist/fee-setter/ownership selectors, owner() renouncement check, and a live eth_call state-override simulation testing whether a synthetic wallet can actually transfer() the token. Returns risk_score (0-100) + verdict (clear/review/block) + human-readable flags.

Endpoint

GET https://x402-data-api.sigrunner.workers.dev/chain/token-security

1

Calls / 30d

1

Unique payers / 30d

Aug 12

Last called

exact

Payment scheme

Call this service

TypeScript · @x402/fetch
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const fetchWithPay = wrapFetchWithPayment(fetch, account);

const res = await fetchWithPay("https://x402-data-api.sigrunner.workers.dev/chain/token-security", {
  method: "GET",
});
const data = await res.json();
cURL
curl -X GET \
  "https://x402-data-api.sigrunner.workers.dev/chain/token-security?token=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" \
  -H "X-PAYMENT: <signed x402 payment>"

Example response

{
  "analyzed_at": "2026-07-17T04:12:15.519Z",
  "capabilities": {
    "can_burn": true,
    "can_mint": true,
    "can_pause": true,
    "detected_selectors": [
      {
        "category": "can_mint",
        "selector": "0x40c10f19",
        "signature": "mint(address,uint256)"
      }
    ],
    "has_blacklist": true,
    "has_fee_setter": false,
    "has_ownership": true,
    "scanned_address": "0x2ce6311ddae708829bc0784c967b7d77d19fd779"
  },
  "chain": "base",
  "flags": [
    "upgradeable proxy (OZ zOS AdminUpgradeabilityProxy (pre-EIP-1967)) — contract logic can be changed by the admin after you hold this token",
    "owner/admin can mint unlimited new supply",
    "has a blacklist function — holders can be blocked from transferring",
    "contract can be paused — the owner can freeze all transfers",
    "ownership not renounced — a privileged admin account still controls this contract"
  ],
  "honeypot_sim": {
    "balance_slot_index": null,
    "method": "…",
    "note": "Could not locate this token's balance storage slot by probing simple mapping(address=>uint256) layouts (slots 0-3).",
    "revert_reason": null,
    "sim_status": "unavailable",
    "transferable": null
  },
  "is_contract": true,
  "meta": {
    "decimals": 6,
    "name": "USD Coin",
    "symbol": "USDC",
    "total_supply_formatted": 4268653465.618984,
    "total_supply_raw": "4268653465618984"
  },
  "ownership": {
    "owner": "0x3abd6f64a422225e61e435bae41db12096106df7",
    "owner_type": "eoa",
    "ownership_renounced": false
  },
  "proxy": {
    "admin_address": "0x4fc7850364958d97b4d3f5a08f79db2493f8ca44",
    "implementation_address": "0x2ce6311ddae708829bc0784c967b7d77d19fd779",
    "is_proxy": true,
    "is_upgradeable": true,
    "proxy_standard": "OZ zOS AdminUpgradeabilityProxy (pre-EIP-1967)"
  },
  "risk_score": 65,
  "risk_summary": "5 risk flag(s) detected. Risk 65/100.",
  "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "verdict": "review"
}

Payment details

Pay to0x5765ae06a52dc7a0bb71c36a11db512c7ea9ed10
AssetUSD Coin · 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913
NetworksBase
Schemesexact

Is this your API?

Pin it to the top of Onchain Data and the homepage with a featured placement.

Get featured →

More from Workers & similar services