{"uid":"cap_TjWqVZiCUyks1N2TTR_wA","slug":"base-erc-20-approval-risk-checker-3f037c11","name":"Base ERC-20 Approval Risk Checker","description":"Machine-payable service intelligence for discovering, verifying, and monitoring identity, risk, authorization, execution-preflight, and evidence APIs before autonomous agents spend.","url":"https://base-agent-preflight.bytoken2023.workers.dev/v1/x402/base/approval-risk","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"],"type":"string"},"queryParams":{"type":"object","required":["token","owner","spender"],"properties":{"owner":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Token owner that granted the allowance."},"token":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"ERC-20 token contract."},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address authorized to spend the owner's tokens."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"network":{"type":"string"},"product":{"type":"string"},"activity":{"type":"object"},"identity":{"type":"object"},"assessment":{"type":"object"},"provenance":{"type":"object"}}}}}}},"responseSchema":{"type":"json","example":{"network":"eip155:8453","product":"base-approval-risk","assessment":{"flags":[],"risk_level":"low","risk_score":0}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","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.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Q8kug7uklF8AKav5Xa9Re","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Assesses the risk level of an ERC-20 token approval on Base by analyzing the owner, spender, and token contract addresses.","exampleAgentPrompt":"Before I approve this contract to spend my USDC, can you check the approval risk on Base? The token is 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, my wallet is 0xAbCd1234567890abcdef1234567890abcdef1234, and the spender is 0xDEF456789012345678901234567890def4567890.","exampleUseCases":null,"resultDescription":"Returns a JSON object with the network identifier (eip155:8453), product name, and an assessment object containing a risk_score (numeric), risk_level (e.g. 'low', 'medium', 'high'), and a flags array listing any specific risk signals detected for the token/owner/spender combination.","failureModes":["Invalid Ethereum address format for token, owner, or spender returns a 400 validation error","Unknown or unindexed contract addresses may return a low-signal assessment with empty flags","Service unavailability returns a 5xx error","Rate limiting or payment failure may return a 402 or 429 response"],"whenToPreferThis":"Use this endpoint when an agent needs to pre-screen an ERC-20 token approval transaction on Base before signing, particularly when the spender contract is unfamiliar or the approval amount is large. Prefer this over generic transaction decoders when the specific risk profiling of an allowance relationship (owner→spender→token) is needed rather than just decoding calldata.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T18:44:57.090Z","isFirstParty":false}