{"uid":"cap_noFvJ3SFqxuGtRJc9bOi_","slug":"erc-20-token-allowance-checker-78009752","name":"ERC-20 Token Allowance Checker","description":"Live ERC-20 spending allowance an owner has granted a spender: calls `allowance(owner, spender)` on the token and returns the raw amount, a decimal-formatted amount (using the token's decimals) with its symbol, and an `isUnlimited` flag for effectively-infinite approvals. Use it to audit token approvals / approval risk before signing. Reads live on-chain data with automatic endpoint fallback.","url":"https://chain.openverbs.com/v1/token-allowance","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","properties":{"chain":{"enum":["ethereum","base","arbitrum","optimism","polygon"],"type":"string","description":"EVM chain to query. One of: ethereum, base, arbitrum, optimism, polygon. Default \"ethereum\"."},"owner":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Token holder that granted the approval."},"token":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"ERC-20 token contract address."},"spender":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Approved spender address."}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","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.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_DAHEzhD1RVXh_961Muc40","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns the live on-chain spending allowance an owner has granted to a spender for a given ERC-20 token, including raw amount, decimal-formatted amount with symbol, and an unlimited-approval flag.","exampleAgentPrompt":"Check how much USDC (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) my wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 has approved for Uniswap's router (0xE592427A0AEce92De3Edee1F18E0157C05861564) on Ethereum — and tell me if it's an unlimited approval.","exampleUseCases":[{"title":"Audit unlimited DeFi protocol approvals","prompt":"I want to know if my wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 has given unlimited approval to the Aave lending pool (0x7d2768dE32b0b80b7a3454c06BdAc94A69DDc7A9) for USDT (0xdAC17F958D2ee523a2206206994597C13D831ec7) on Ethereum — check the allowance and flag if it's effectively infinite."},{"title":"Pre-transaction approval safety check","prompt":"Before I sign this swap on Base, can you check the current allowance my address 0xAbCd1234abcd1234abcd1234abcd1234abcd1234 has granted to the DEX router 0x1111111254EEB25477B68fb85Ed929f73A960582 for the token at 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913?"},{"title":"Monitor risky token approvals on Polygon","prompt":"Check whether my wallet 0x742d35Cc6634C0532925a3b844Bc454e4438f44e has any allowance set for the contract 0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6 on the USDC token (0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174) on Polygon, and tell me the exact amount including whether it's unlimited."}],"resultDescription":"Returns the raw allowance as a big integer string, a human-readable decimal-formatted amount with the token's symbol (e.g. '1000.00 USDC'), and an isUnlimited boolean flag indicating whether the approval is effectively infinite (e.g. max uint256).","failureModes":["Invalid Ethereum address format for owner, spender, or token returns a validation error","Unsupported chain name returns an enum validation error","Token address is not an ERC-20 contract causes the allowance call to revert or return an error","Network RPC endpoint temporarily unavailable triggers automatic fallback but may still time out","Zero allowance is a valid response and not an error — agent must distinguish no approval from an error"],"whenToPreferThis":"Use this endpoint when you need live, on-chain ERC-20 allowance data for a specific owner-spender pair on a supported EVM chain (Ethereum, Base, Arbitrum, Optimism, Polygon). It is the right choice for pre-transaction approval audits, DeFi risk screening, or detecting unlimited approvals, because it reads directly from the contract with automatic RPC fallback for reliability. Prefer this over block explorer lookups when you need programmatic access and structured output including the isUnlimited flag.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T06:36:25.150Z","isFirstParty":false}