{"uid":"cap_euc8UDQHxvok9V0dSsCqU","slug":"skills-onesource-io-9035b699","name":"ERC20 Allowance Lookup (eth_call)","description":"ERC20 allowance via allowance (eth_call) - how much a spender is approved to move from an owner's wallet","url":"https://skills.onesource.io/api/chain/allowance","method":"GET","headers":{},"bodySchema":{"type":"object","properties":{"owner":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"token":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"network":{"enum":["ethereum","sepolia","avax","megaeth","megaeth-testnet","base"],"type":"string","default":"ethereum"},"spender":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"}}},"responseSchema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["name","owner","token","symbol","spender","decimals","allowance"],"properties":{"name":{"type":"string"},"owner":{"type":"string"},"token":{"type":"string"},"symbol":{"type":"string"},"spender":{"type":"string"},"decimals":{"type":"number"},"allowance":{"type":"string"}}},"meta":{"type":"object","required":["endpoint","request_id"],"properties":{"endpoint":{"type":"string"},"request_id":{"type":"string"}}}}},"example":{"request":{"owner":"0x1234567890123456789012345678901234567890","token":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","network":"ethereum","spender":"0x0987654321098765432109876543210987654321"},"response":{"data":{"name":"USD Coin","owner":"0x1234567890123456789012345678901234567890","token":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","symbol":"USDC","spender":"0x0987654321098765432109876543210987654321","decimals":6,"allowance":"0"},"meta":{"endpoint":"/api/chain/allowance","request_id":"668fc1cf5e608fb4"}}},"exampleRequest":{"owner":"0x1234567890123456789012345678901234567890","token":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","network":"ethereum","spender":"0x0987654321098765432109876543210987654321"},"tags":["x402"],"displayCostAmount":"0.003","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.003/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_LsAdmJYnjXSY97sMneHg3","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.003","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns the current ERC20 token allowance — how many tokens a spender is approved to transfer from an owner's wallet — via live eth_call on supported networks.","exampleAgentPrompt":"Check how many USDC tokens (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) the address 0x0987654321098765432109876543210987654321 is approved to spend from 0x1234567890123456789012345678901234567890 on Ethereum mainnet.","exampleUseCases":[{"title":"Audit DeFi protocol spending limits","prompt":"I need to check how much USDC the Uniswap V3 router is approved to spend from my wallet on Ethereum. Can you look up the current allowance for me?"},{"title":"Verify token approvals before swap","prompt":"Before I execute a swap, show me how many tokens the 1inch router has been approved to transfer from my address on Base network. The token is at 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913."},{"title":"Detect unlimited approvals in wallet","prompt":"I want to audit my wallet for risky token approvals. Can you check if I've given any DeFi contracts unlimited allowance for my tokens? Start by checking my USDT approval on Ethereum."}],"resultDescription":"Returns a JSON object with the allowance amount (as a string), token metadata (name, symbol, decimals), and the owner, spender, and token addresses. The allowance is in raw token units (apply decimals to get human-readable amount).","failureModes":["Invalid Ethereum address format for owner, spender, or token returns a validation error","Unsupported network value returns an enum validation error","Token address is not an ERC20 contract — eth_call returns empty or reverts","Network RPC is temporarily unavailable — returns a 5xx error","Zero allowance returned when no approval has been set (not an error, valid response)"],"whenToPreferThis":"Use this endpoint when you need to read a live ERC20 allowance directly from the chain via eth_call, including token metadata like name, symbol, and decimals in one response. Prefer this over generic RPC tools when you want structured JSON output with token context across multiple networks (Ethereum, Base, Avalanche, Sepolia, MegaETH).","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T18:41:19.787Z","isFirstParty":false}