{"uid":"cap_VYx0bsg9w-0u0JFWvaIRe","slug":"onesource-erc-20-transfer-history-5acf567a","name":"OneSource ERC-20 Transfer History","description":"ERC20 Transfer logs via eth_getLogs - raw Transfer events for a token or wallet","url":"https://api.onesource.io/api/chain/erc20-transfers","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","HEAD","DELETE"],"type":"string"},"queryParams":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"network":{"enum":["ethereum","sepolia","robinhood"],"type":"string","default":"ethereum"},"contract":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"to_block":{"oneOf":[{"type":"integer","minimum":0},{"enum":["latest","pending","earliest","safe","finalized"],"type":"string"},{"type":"string","pattern":"^0[xX][a-fA-F0-9]+$"}]},"from_block":{"oneOf":[{"type":"integer","minimum":0},{"enum":["latest","pending","earliest","safe","finalized"],"type":"string"},{"type":"string","pattern":"^0[xX][a-fA-F0-9]+$"}]}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"logs":{"type":"array","items":{"type":"object","properties":{"data":{"type":"string"},"topics":{"type":"array","items":{"type":"string"}},"address":{"type":"string"},"logIndex":{"type":"string"},"blockNumber":{"type":"string"},"transactionHash":{"type":"string"}}}},"count":{"type":"integer"},"to_block":{"type":"string"},"from_block":{"type":"string"}},"description":"Endpoint-specific response payload"},"meta":{"type":"object","required":["endpoint","request_id"],"properties":{"endpoint":{"type":"string"},"cost_usdc":{"type":"string"},"request_id":{"type":"string"},"payment_chain":{"type":"string"},"payment_token":{"type":"string"}}},"error":{"type":["object","null"],"properties":{"code":{"type":"integer"},"message":{"type":"string"}}}}}}}}},"responseSchema":{"type":"json","example":{"data":{"logs":[{"data":"0x00000000000000000000000000000000000000000000000000000000000f4240","topics":["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","0x000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045","0x0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f"],"address":"0xdac17f958d2ee523a2206206994597c13d831ec7","logIndex":"0x0","blockNumber":"0x133da1e","transactionHash":"0xad7e04119ecd85857728205f5b12e95f0bab8e99f9c2f60be5dc79cfc6a8df1f"}],"count":1,"to_block":"latest","from_block":"latest"},"meta":{"endpoint":"/api/chain/erc20-transfers","cost_usdc":"0.001","request_id":"00000000abcdef01","payment_chain":"base","payment_token":"USDC"}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","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.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_VYyv3ni5JD4820t3esua0","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":"Retrieves ERC-20 token transfer events for a specific token contract and/or wallet address on Ethereum mainnet or Sepolia testnet over a specified block range","exampleAgentPrompt":"Can you pull all the ERC-20 transfers for USDT (0xdac17f958d2ee523a2206206994597c13d831ec7) involving wallet 0xd8da6bf26964af9d7eed9e03e53415d37aa96045 on Ethereum mainnet from block 20000000 to the latest block?","exampleUseCases":null,"resultDescription":"Returns a JSON object with a count of matching transfers and an array of transfer records, each containing the sender address (from), recipient address (to), token contract address, transferred value (as a string integer in the token's smallest unit), the transaction hash, and the block number where the transfer occurred.","failureModes":["Invalid Ethereum address format returns a validation error","Block range too large may result in timeout or truncated results","Token contract address that is not ERC-20 returns empty transfer list","Unsupported network value returns 400 error","Payment failure (insufficient USDC balance) results in 402 response blocking the request","from_block greater than to_block returns empty or error response"],"whenToPreferThis":"Use this endpoint when you need structured ERC-20 transfer event data for a specific token and/or wallet over a defined block range without running your own Ethereum node or managing API keys. Ideal for agents auditing wallet activity, tracking DeFi token flows, or monitoring token distribution — especially when paying per call via x402 with USDC on Base or pathUSD on Tempo is acceptable. Prefer this over raw eth_getLogs calls when you want pre-parsed, typed transfer records rather than raw log data.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T06:50:47.280Z","isFirstParty":false}