{"uid":"cap_siK4mTz2cp8R52ZJvnxsk","slug":"p0-token-risk-screener-a9c0b0aa","name":"P0 Token Risk Screener","description":"An open index of the machine-to-machine (agent) economy. x402 routes: ranked discovery over the live x402 service market, every indexed service scored by real 30-day calls and paying-wallet bounds, with a receipt naming the snapshot hash and scoring revision. /economy routes, for Tempo MPP, Virtuals ACP, Olas, Masumi, ERC-8004 agent registries, Solana agent registries, Base agent contracts and MCP servers (Official MCP Registry): each protocol's published figures (agent or server counts, transactions or payment events; payers and USD volume only where the source publishes them: payers for x402 and Tempo MPP, USD volume for x402 and Virtuals ACP), each with its unit, window and source; units differ, so totals are not summed. L402 and per-service MPP listings are not covered.","url":"https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/token/risk?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET","HEAD"],"type":"string"},"queryParams":{"type":"object","required":["address"],"properties":{"chain":{"enum":["ethereum","base","arbitrum","polygon"],"type":"string","description":"Chain of the token; default base"},"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Token contract address (0x + 40 hex)"},"request_key":{"type":"string","pattern":"^[A-Za-z0-9._:-]{1,64}$","description":"Idempotency key, echoed back"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["address","chain","risk","reasons","rules","grade","verdict","token","proxy","powers","sanctions","errors","checked_at","sources","note"],"properties":{"note":{"type":"string","description":"Fixed text: rule-based label, not an audit or advice; OFAC disclaimer"},"risk":{"enum":["high","medium","low","unknown"],"type":"string","description":"high, medium, low or unknown - by the rules in 'rules'"},"chain":{"type":"string","description":"base, ethereum, arbitrum or polygon"},"grade":{"enum":["A","B","C","D","F"],"type":"string","description":"A low; B medium (new address only); C medium (other); D unknown; F high (OFAC); E unused"},"owner":{"type":["string","null"],"description":"owner() result; null when the contract has no owner() or it failed; the zero address means renounced"},"proxy":{"type":"object","properties":{"admin":{"type":["string","null"]},"is_proxy":{"type":"boolean"},"standard":{"type":["string","null"]},"implementation":{"type":["string","null"]},"implementation_code_read":{"type":["boolean","null"]}},"description":"Upgradeable proxy facts from the EIP-1967 and OpenZeppelin (zeppelinos) storage slots"},"rules":{"type":"array","items":{"type":"string"},"description":"The full rule set, fixed text"},"token":{"type":"object","properties":{"name":{"type":["string","null"]},"symbol":{"type":["string","null"]},"decimals":{"type":["integer","null"]},"total_supply":{"type":["string","null"]},"total_supply_raw":{"type":["string","null"]}},"description":"ERC-20 fields as read from the contract; null when the call failed or reverted"},"errors":{"type":"array","items":{"type":"string"},"description":"Calls that failed, with a short reason"},"powers":{"type":"object","properties":{"mint":{"type":"boolean"},"pause":{"type":"boolean"},"blacklist":{"type":"boolean"}},"description":"true when the bytecode (the implementation's, for a proxy) contains that function selector"},"address":{"type":"string","description":"Token contract, lowercased"},"chainId":{"type":"integer"},"reasons":{"type":"array","items":{"type":"string"},"description":"Which facts set the label"},"sources":{"type":"array","items":{"type":"string"},"description":"Public node hosts that answered plus the OFAC list date"},"verdict":{"type":"string","description":"Risk, grade and reason in one line"},"sanctions":{"type":"object","properties":{"hits":{"type":"array"},"list":{"type":"string"},"match":{"type":"boolean"},"method":{"type":"string"},"checked":{"type":"array"},"listDate":{"type":"string"}},"description":"OFAC SDN screening of the token address, owner and proxy admin"},"checked_at":{"type":"string","description":"ISO 8601 UTC time of this check"},"code_bytes":{"type":"integer","description":"Bytecode length at the address"},"request_key":{"type":["string","null"],"description":"Your request_key echoed back"}}}}}}},"responseSchema":{"type":"json","example":{"note":"A rule-based label from on-chain facts, not an audit, a fraud score or investment advice: the rules are listed in full in 'rules' and applied to the facts shown. Facts come from public nodes at the time of the call and the OFAC SDN list as of listDate; a call that failed is listed in errors, never assumed. Screening against the OFAC SDN list as of 2026-10-02, not legal advice. Only the SDN list is checked (not OFAC's non-SDN Consolidated lists or other countries' lists). A possible name match needs human review, and no match does not mean a party is cleared. Not affiliated with or endorsed by OFAC or the U.S. Department of the Treasury.","risk":"medium","chain":"base","grade":"C","owner":"0x3abd6f64a422225e61e435bae41db12096106df7","proxy":{"admin":"0x4fc7850364958d97b4d3f5a08f79db2493f8ca44","is_proxy":true,"standard":"OpenZeppelin (zeppelinos)","implementation":"0x2ce6311ddae708829bc0784c967b7d77d19fd779","implementation_code_read":true},"rules":["high: the token address, its owner() or its proxy admin is an exact match on the OFAC SDN list (Digital Currency Address entries).","medium: the token is an upgradeable proxy (EIP-1967 or OpenZeppelin implementation slot set: its code can be replaced), or it has a non-zero owner() and its bytecode (the implementation's, for a proxy) contains a mint, pause or blacklist function selector.","unknown: the ERC-20 fields name, symbol, decimals and totalSupply could not all be read.","low: none of the above.","A selector in the bytecode means the function exists; who may call it is not checked. No contract code at the address, or no node answering, is refused before any charge."],"token":{"name":"USD Coin","symbol":"USDC","decimals":6,"total_supply":"4357394992.745585","total_supply_raw":"4357394992745585"},"errors":[],"powers":{"mint":true,"pause":true,"blacklist":true},"address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","chainId":8453,"reasons":["no exact OFAC SDN match for the token, its owner or its proxy admin","upgradeable proxy (OpenZeppelin (zeppelinos)): implementation 0x2ce6311ddae708829bc0784c967b7d77d19fd779 can be replaced"],"sources":["base.drpc.org","OFAC SDN list (treasury.gov) as of 2026-10-02"],"verdict":"medium risk, grade C for this token: upgradeable proxy (OpenZeppelin (zeppelinos)): implementation 0x2ce6311ddae708829bc0784c967b7d77d19fd779 can be replaced.","sanctions":{"hits":[],"list":"OFAC SDN","match":false,"method":"Exact match of the address against Digital Currency Address entries in the SDN list (0x and bech32 addresses compared case-insensitively, base58 addresses case-sensitively).","checked":[{"role":"token","address":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},{"role":"owner","address":"0x3abd6f64a422225e61e435bae41db12096106df7"},{"role":"proxy admin","address":"0x4fc7850364958d97b4d3f5a08f79db2493f8ca44"}],"listDate":"2026-10-02"},"checked_at":"2026-10-18T12:00:00.000Z","code_bytes":1852,"request_key":"req-7f3a"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_2d0_o2lx5zk4UDAxyx3jq","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns a rule-based on-chain risk label (high/medium/low/unknown) for an ERC-20 token contract, checking OFAC SDN matches, upgradeability, and dangerous function selectors (mint/pause/blacklist).","exampleAgentPrompt":"Can you check the risk level of the USDC token contract at 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913 on Base — specifically whether it's OFAC-sanctioned, upgradeable, or has mint/pause/blacklist powers?","exampleUseCases":[{"title":"Pre-trade compliance screening","prompt":"Before my agent accepts this token as payment, can you screen 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913 on Base for OFAC sanctions and tell me if it has any dangerous admin functions like minting or blacklisting?"},{"title":"DeFi protocol token audit","prompt":"We're about to list a new token on our platform — can you check 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum and flag if it's an upgradeable proxy or if its owner is on the OFAC SDN list?"},{"title":"Wallet risk dashboard enrichment","prompt":"For each token I hold on Arbitrum, starting with 0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9, can you get the risk label and reasons so I can display a compliance badge in my portfolio UI?"}],"resultDescription":"A JSON object with: a risk field (high/medium/low/unknown), chain and address echo, owner address, proxy facts (is_proxy, standard, implementation, admin), token metadata (name, symbol, decimals, total_supply), detected dangerous function selectors (mint/pause/blacklist booleans), human-readable reasons for the label, the full rule set applied, OFAC check errors, checked_at timestamp, sources, and a fixed disclaimer note.","failureModes":["Invalid or malformed contract address (must be 0x + 40 hex chars) returns an error","Unsupported chain value returns validation error","No contract code at the address causes refusal before any charge","Node unavailability for a specific chain results in errors listed in the response errors field, not assumed safe","Token with unreadable ERC-20 fields (name/symbol/decimals/totalSupply) returns risk: unknown","OFAC SDN list may lag real-time; listDate is included for auditability"],"whenToPreferThis":"Choose this endpoint when you need a fast, rule-transparent, on-chain risk label for an ERC-20 token — especially for OFAC SDN screening, upgradeability checks, and dangerous-function detection — without needing a full smart contract audit. Ideal for AI agents performing automated compliance pre-checks before accepting token payments or listing tokens. Supports Base, Ethereum, Arbitrum, and Polygon. Costs $0.01 USDC per call via x402.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-19T12:38:16.749Z","isFirstParty":false,"canonicalSlug":"p0-token-risk-screener-a9c0b0aa"}