{"uid":"cap_3cE-BPOg8jFI22kz0ITOS","slug":"ethereum-erc-20-allowance-checker-509099ee","name":"Ethereum ERC-20 Allowance Checker","description":"Pay-per-call data for AI agents, paid in USDC on Base with x402: token risk checks (rug check) on Base, Ethereum, Arbitrum, Optimism, Polygon and Solana, onchain reads (balances, transactions, gas, contracts, NFTs, whale trades, new pools, ENS and Basenames), ECB exchange rates, and Canadian sales tax and business days.","url":"https://ca-tax-api-mainnet.lxtap.workers.dev/eth/allowance?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"],"type":"string"},"queryParams":{"type":"object","required":["token","owner","spender"],"properties":{"owner":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Address that granted the approval"},"token":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"ERC-20 contract on Ethereum"},"spender":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Address allowed to spend"}},"additionalProperties":false}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":{"type":"json","example":{"raw":"115792089237316195423570985008687907853269984665640564039457584007913032819903","chain":"eth","owner":"0x72aB1B98b60a9251Cc00ab1C3bBe9F48CdFdCA40","token":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","symbol":"USDC","spender":"0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE","allowance":"115792089237316195423570985008687907853269984665640564039457584007913032.819903","unlimited":true,"ownerBalance":"0","spendableNow":"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_KOFHk3q0nW2opLw4WF3Zz","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":"Returns the ERC-20 token allowance a spender has from an owner on Ethereum mainnet, including whether it is effectively unlimited, the owner's balance, and the transferable amount.","exampleAgentPrompt":"What's the current ERC-20 allowance that the Uniswap v3 router (0xE592427A0AEce92De3Edee1F18E0157C05861564) has to spend USDC (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) from my wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 — and is it unlimited?","exampleUseCases":[{"title":"DeFi protocol security audit","prompt":"Check how much allowance the Aave v3 pool contract at 0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2 has to spend DAI (0x6B175474E89094C44Da98b954EedeAC495271d0F) on behalf of wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 — is it unlimited, and how much could it actually move right now?"},{"title":"Pre-trade approval verification","prompt":"Before I submit a swap, can you confirm that the 1inch router at 0x1111111254EEB25477B68fb85Ed929f73A960582 is approved to spend at least 500 USDT (0xdAC17F958D2ee523a2206206994597C13D831ec7) from my wallet 0x742d35Cc6634C0532925a3b844Bc454e4438f44e?"},{"title":"Wallet approval risk check","prompt":"I want to know if the spender 0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45 has an effectively unlimited approval to move my WETH tokens (0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2) from 0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B and what my current WETH balance is."}],"resultDescription":"Returns the approved allowance amount (in token base units), a boolean indicating whether the approval is effectively unlimited (e.g. max uint256), the owner's current token balance, and the amount the spender could actually transfer right now (the lesser of the allowance and the balance).","failureModes":["Invalid Ethereum address format (must match ^0x[0-9a-fA-F]{40}$) returns a validation error","Non-existent or non-ERC-20 token contract address may return an error or zero values","RPC node unavailability may cause timeouts or 5xx errors","Zero allowance returned when no approval has been granted — not an error, but the spender cannot move any tokens"],"whenToPreferThis":"Use this endpoint when you need to check the exact ERC-20 token approval state between a specific owner and spender on Ethereum mainnet, especially when you need to know both the raw allowance and the effective transferable amount (capped by balance). Prefer this over a general block explorer when you need structured, machine-readable output suitable for agent decision-making, pre-trade checks, or security audits.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T12:45:23.234Z","isFirstParty":false,"canonicalSlug":"ethereum-erc-20-allowance-checker-509099ee"}