{"uid":"cap_BdR33EdlwiPwpYJplKApk","slug":"ethereum-erc-20-allowance-checker-4a09d60a","name":"Ethereum ERC-20 Allowance Checker","description":"ERC-20 allowance on Ethereum: how much a spender may transfer from an owner, whether the approval is effectively unlimited, the owner's balance, and the amount the spender could move right now.","url":"https://onchaincheck.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_JSUqNGuNLN-YGQQGMSL0a","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 on Ethereum, including whether it's unlimited, the owner's balance, and the net spendable amount right now.","exampleAgentPrompt":"Check the ERC-20 allowance on Ethereum for USDC (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) — I want to know how much the LiFi bridge (0x1231DEB6f5749EF6cE6943a275A1D3E7486F4EaE) is approved to spend from my wallet 0x72aB1B98b60a9251Cc00ab1C3bBe9F48CdFdCA40, whether it's unlimited, and how much it could actually move right now.","exampleUseCases":[{"title":"DeFi protocol approval audit","prompt":"Before I use Uniswap again, can you check how much USDC (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) my wallet 0x72aB1B98b60a9251Cc00ab1C3bBe9F48CdFdCA40 has approved Uniswap's router (0xE592427A0AEce92De3Edee1F18E0157C05861564) to spend on Ethereum, and whether it's an unlimited approval?"},{"title":"Security check before revoking token approval","prompt":"I'm worried about an old approval — can you look up the ERC-20 allowance for DAI (0x6B175474E89094C44Da98b954EedeAC495271d0F) from my address 0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B to the contract 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D on Ethereum, so I know if it's effectively unlimited before I revoke it?"},{"title":"Verify spendable balance for a transfer agent","prompt":"Check how much WETH (0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2) the address 0x3fC91A3afd70395Cd496C647d5a6CC9D4B2b7FAD is actually able to move right now from owner 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 on Ethereum — including whether the approval is unlimited and what the current owner balance is."}],"resultDescription":"A JSON object containing: the raw allowance integer, a human-readable allowance string, whether the approval is effectively unlimited (boolean), the token symbol, the owner's current token balance, the amount the spender could actually move right now (min of allowance and balance), the chain identifier, and the owner/token/spender addresses echoed back.","failureModes":["Invalid Ethereum address format (must match ^0x[0-9a-fA-F]{40}$) returns a validation error","Non-ERC-20 contract address for token returns an error or unexpected data","RPC/node connectivity issues may cause transient failures","Zero allowance returned when no approval has been granted — not an error, just a zero value","Token contract that doesn't conform to ERC-20 standard may return unexpected results"],"whenToPreferThis":"Use this endpoint when you need to check ERC-20 token approvals specifically on Ethereum mainnet. It provides not just the raw allowance but also the unlimited flag and spendable-now calculation in one call, saving multiple RPC lookups. Prefer this over raw RPC calls when you need a clean human-readable allowance value and the net spendable amount in a single request. Choose the Arbitrum One sibling endpoint for the same data on Arbitrum.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-30T12:31:43.708Z","isFirstParty":false,"canonicalSlug":"ethereum-erc-20-allowance-checker-4a09d60a"}