{"uid":"cap_LJE57rs71bgamQVQmsNq9","slug":"erc-20-transfer-history-api-base-optimism-mainnet-292fe78d","name":"ERC-20 Transfer History API (Base/Optimism/Mainnet)","description":"Pay-per-call on-chain API for AI agents and developers: wallet audits, token safety audits (honeypot detection), live gas prices, token prices, transaction receipts, balances, ENS resolution, block data, ERC-20 allowances, transaction simulation, swap quotes and multicall batches — all computed on-chain via public RPCs (no external market API). Pay per request in USDC on Base via the x402 exact scheme (EIP-3009 transferWithAuthorization). No API key, no signup, no subscription.","url":"https://x402-audit.tatschluizguilherme.workers.dev/history","method":"GET","headers":{},"bodySchema":null,"responseSchema":{"type":"json","example":{"count":5,"native":{"direction":"in","afterFormatted":"41928.8859153","deltaFormatted":"200.98828849","beforeFormatted":"41727.89762681"},"address":"0x000000000004444c5dc75cb358380d2e3de08a90","network":"mainnet","toBlock":"25685762","direction":"both","fromBlock":"25684762","transfers":[{"token":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","txHash":"0xf2e57568318a9f30f1…","decoded":{"args":{"to":"0x000000000004444c…","from":"0x278d858f…","value":"71735844","symbol":"USDC","valueFormatted":"71.735844"},"event":"Transfer"},"direction":"in","timestamp":1785914235,"blockNumber":25685765,"timestampISO":"2026-08-04T23:17:15.000Z"}],"truncated":true,"blockRange":"1000","requestedAt":"2026-08-05T02:20:00.000Z"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.1","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"registry","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.1/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.1","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.1","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_IFwFTAXIR04IvABAjfSIY","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.1","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches full ERC-20 transfer history (incoming and outgoing, all tokens) for any wallet address on Base, Optimism, or Ethereum Mainnet, with decoded transfer details and native ETH balance delta.","exampleAgentPrompt":"Can you pull the full ERC-20 transfer history for wallet 0xAbC123...def on Base — I need to confirm an outgoing USDC payment went through and see the ETH balance delta over the same window.","exampleUseCases":[{"title":"Verify bounty payout reached recipient","prompt":"Check if the bounty payment we sent to 0x742d35Cc6634C0532925a3b8D4C9A9f2d15E on Optimism actually landed — show me the incoming ERC-20 transfers and confirm the token, amount, and transaction hash."},{"title":"Airdrop receipt confirmation for users","prompt":"I need to confirm that wallet 0xDEADBEEF1234567890abcdef1234567890abcdef received their airdrop tokens on Ethereum Mainnet — pull all incoming ERC-20 transfers with timestamps and decoded values."},{"title":"Audit outgoing token activity for a busy wallet","prompt":"Give me a full audit of all outgoing ERC-20 transfers from 0x1234567890abcdef1234567890abcdef12345678 on Base over the last available block range, including the ETH balance delta before and after."}],"resultDescription":"A list of ERC-20 transfer events for the given wallet, each containing: direction (in/out), block number, unix and ISO timestamps, transaction hash, log index, token contract address, decoded from/to addresses, and formatted transfer value using the token's own decimals. Also includes the native ETH balance delta (before/after) over the queried window, and a rangeHint if the window was auto-shrunk for busy wallets.","failureModes":["Invalid or malformed wallet address returns an error","Unsupported network name returns a validation error","Block range too wide for busy wallet — auto-shrunk with rangeHint returned","RPC provider unavailable or rate-limited causes a 5xx error","No transfers found in range returns empty list (not an error)","Historical balance unavailable on some RPC nodes means ETH delta may be null"],"whenToPreferThis":"Choose this endpoint when you need comprehensive ERC-20 transfer history across all tokens for a wallet without knowing specific token contract addresses, especially for payment verification, airdrop confirmation, or bounty auditing on Base, Optimism, or Ethereum Mainnet. Prefer it over raw eth_getLogs endpoints when you want decoded, human-readable transfer values with direction labels and ETH balance deltas included in one call.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T18:40:50.898Z","isFirstParty":false}