{"slug":"x402-data-api-sigrunner-workers-dev-chain-token-security-cec28d","title":"Token security / honeypot detector for a Base mainnet ERC-20","host":"x402-data-api.sigrunner.workers.dev","method":"GET","resource":"https://x402-data-api.sigrunner.workers.dev/chain/token-security","category":"market","description":"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","price_listed":0.009,"price_asked":null,"state":"effects","state_label":"Not tested: has real-world effects","checks_7d":0,"answered_7d":0,"latency_ms_median":null,"reported_calls_30d":7,"reported_payers_30d":2,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"method":"GET","queryParams":{"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"method":{"enum":["GET"],"type":"string"},"queryParams":{"properties":{"token":{"description":"0x-prefixed 20-byte ERC-20 contract address on Base mainnet","type":"string"}},"type":"object"},"type":{"const":"http","type":"string"}},"required":["type","method"],"type":"object"},"output":{"properties":{"example":{"properties":{"analyzed_at":{"type":"string"},"capabilities":{"properties":{"can_burn":{"type":"boolean"},"can_mint":{"type":"boolean"},"can_pause":{"type":"boolean"},"detected_selectors":{"items":{"properties":{"category":{"type":"string"},"selector":{"type":"string"},"signature":{"type":"string"}},"required":["selector","signature","category"],"type":"object"},"type":"array"},"has_blacklist":{"type":"boolean"},"has_fee_setter":{"type":"boolean"},"has_ownership":{"type":"boolean"},"scanned_address":{"type":"string"}},"required":["can_mint","can_burn","can_pause","has_blacklist","has_fee_setter","has_ownership","detected_selectors","scanned_address"],"type":"object"},"chain":{"type":"string"},"flags":{"items":{"type":"string"},"type":"array"},"honeypot_sim":{"properties":{"balance_slot_index":{"type":"null"},"method":{"type":"string"},"note":{"type":"string"},"revert_reason":{"type":"null"},"sim_status":{"type":"string"},"transferable":{"type":"null"}},"required":["sim_status","method","balance_slot_index","transferable","revert_reason","note"],"type":"object"},"is_contract":{"type":"boolean"},"meta":{"properties":{"decimals":{"type":"integer"},"name":{"type":"string"},"symbol":{"type":"string"},"total_supply_formatted":{"type":"number"},"total_supply_raw":{"type":"string"}},"required":["name","symbol","decimals","total_supply_raw","total_supply_formatted"],"type":"object"},"ownership":{"properties":{"owner":{"type":"string"},"owner_type":{"type":"string"},"ownership_renounced":{"type":"boolean"}},"required":["owner","ownership_renounced","owner_type"],"type":"object"},"proxy":{"properties":{"admin_address":{"type":"string"},"implementation_address":{"type":"string"},"is_proxy":{"type":"boolean"},"is_upgradeable":{"type":"boolean"},"proxy_standard":{"type":"string"}},"required":["is_proxy","proxy_standard","implementation_address","admin_address","is_upgradeable"],"type":"object"},"risk_score":{"type":"integer"},"risk_summary":{"type":"string"},"token":{"type":"string"},"verdict":{"type":"string"}},"required":["token","chain","is_contract","meta","proxy","capabilities","ownership","honeypot_sim","risk_score","verdict","flags","risk_summary","analyzed_at"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[],"description_full":"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.","last_updated":"2026-10-19T08:03:27.778Z","schemes":["exact"]}