{"uid":"cap_PRo4vJuR90N8MIQYGf8Hd","slug":"token-approval-risk-check-for-evm-wallets-96245189","name":"Token Approval Risk Check for EVM Wallets","description":"Hosted approval risk check for Base and EVM agents before signing token approvals or swaps: dangerous spender approvals, unlimited allowance exposure, approval-to-balance ratios, revoke-or-cap actions, and agent spend-control policy from fresh D1 wallet snapshots plus live allowance reads. Price 0.20 USDC on Base via x402. Demo: https://wallet-portfolio-history-mcp.mtree.workers.dev/demo/tools/approval_risk. Contact: https://wallet-portfolio-history-mcp.mtree.workers.dev/contact.","url":"https://wallet-portfolio-history-mcp.mtree.workers.dev/tools/approval_risk","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["address"],"properties":{"chain":{"enum":["base","ethereum","arbitrum","optimism","polygon"],"type":"string"},"limit":{"type":"integer","maximum":50,"minimum":1},"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"refresh":{"type":"boolean"}}},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.200000","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","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.200000/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.2","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.2","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_0yUx3U4ZIAztHD8_yPJbM","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.2","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Analyzes token approval exposure for a wallet address, flagging dangerous spender approvals, unlimited allowances, and approval-to-balance ratios with revoke-or-cap recommendations.","exampleAgentPrompt":"Before you sign this swap, check the approval risk for wallet 0xAbC123... on Base — flag any dangerous spenders, unlimited allowances, or bad approval-to-balance ratios and tell me if I should revoke or cap anything.","exampleUseCases":null,"resultDescription":"Returns a token-by-token breakdown of approval exposure including dangerous spender flags, unlimited allowance indicators, approval-to-balance ratios, revoke-or-cap action recommendations, and an agent spend-control policy derived from fresh D1 wallet snapshots and live allowance reads.","failureModes":["Invalid or malformed wallet address returns an error","Wallet with no token approvals returns empty risk results","Network errors fetching live allowance data may produce incomplete results","Unsupported chain (non-EVM or non-Base) may return an error or no data","Payment not fulfilled (x402) results in 402 response blocking the check"],"whenToPreferThis":"Use this endpoint when an autonomous agent needs to gate-check token approvals before signing a swap or approval transaction on Base or EVM chains, especially when you need live allowance reads combined with snapshot-based policy enforcement. Prefer over generic allowance checkers when you need structured revoke/cap recommendations and agent spend-control policy in one call.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T12:49:29.128Z","isFirstParty":false}