{"uid":"cap_Yc4C8Zyq-NkhULGp-nAih","slug":"agent402-asset-transfers-evm-on-chain-transfer-history-0dbe33fe","name":"Agent402 Asset Transfers — EVM On-Chain Transfer History","description":"Token and native transfer history for any EVM address across major chains: direction, counterparty, asset, exact decimal value, block and transaction hash, filterable by category and block range with a cursor for paging. Use it to reconstruct what an address actually did, rather than only what it holds now.","url":"https://agent402.tools/api/asset-transfers","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"order":{"type":"string","description":"desc (newest first, default) or asc."},"address":{"type":"string","description":"0x-prefixed 40-char EVM address (the wallet or contract whose transfers you want). Optional when `contracts` is set."},"network":{"type":"string","description":"ethereum / base / polygon / arbitrum / optimism (default ethereum)."},"pageKey":{"type":"string","description":"Cursor from a previous response to fetch the next page."},"toBlock":{"type":"string","description":"End block (decimal, 0x hex, or latest). Default latest."},"category":{"type":"array","items":{"type":"string"},"description":"Subset of external, internal, erc20, erc721, erc1155, specialnft. Default external+erc20+erc721+erc1155 (erc20+erc721+erc1155 when `contracts` is set)."},"maxCount":{"type":"number","description":"Rows per call, 1-100 (default 25)."},"contracts":{"type":"array","items":{"type":"string"},"description":"Optional token contract filter, up to 10 addresses (token categories only)."},"direction":{"type":"string","description":"in (transfers TO address) or out (transfers FROM address). Default in."},"fromBlock":{"type":"string","description":"Start block (decimal or 0x hex). Default 0 = genesis."},"counterparty":{"type":"string","description":"Optional other party: with direction in, only transfers FROM this address; with out, only transfers TO it."},"includeZeroValue":{"type":"boolean","description":"Include zero-value transfers (plain contract calls). Default false."}}},"responseSchema":{"type":"json","example":{"count":5,"order":"desc","source":"alchemy","address":"0xd8da6bf26964af9d7eed9e03e53415d37aa96045","chainId":1,"network":"ethereum","pageKey":"1f449b0c-…","toBlock":"latest","maxCount":5,"contracts":["0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"],"direction":"in","fetchedAt":"2026-08-22T12:00:00.000Z","fromBlock":"0x0","transfers":[{"to":"0xd8da…6045","from":"0xa916…6081","hash":"0x214b…e56b","asset":"USDC","value":"0.42","tokenId":null,"blockNum":25563191,"category":"erc20","contract":"0xa0b8…eb48","decimals":6,"rawValue":"420000","timestamp":"2026-07-19T00:32:23.000Z"}],"categories":["erc20"],"counterparty":null}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.003","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.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_aqrV_EH3iq_RB9NPlK-jj","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.003","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches paginated on-chain asset transfer history (ETH, ERC-20, ERC-721, ERC-1155) for an EVM wallet or contract address across major networks, powered by Alchemy.","exampleAgentPrompt":"Show me the last 10 USDC transfers received by wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 on Ethereum, newest first.","exampleUseCases":[{"title":"Audit incoming USDC payments to a wallet","prompt":"Fetch the last 25 inbound USDC transfers to 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 on Ethereum, filtering by the USDC contract 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48, ordered newest first."},{"title":"Track NFT transfers from a collector","prompt":"Get all ERC-721 transfers sent out from wallet 0xAbCd1234... on Polygon, starting from block 0, up to 50 results per page — I want to see what NFTs this address has been sending."},{"title":"Monitor DeFi activity on Base for a contract","prompt":"Pull the most recent 100 ERC-20 and ERC-1155 token transfers involving address 0x1234abcd... on Base, including both inbound and outbound, and show me the oldest ones first so I can trace activity from the beginning."}],"resultDescription":"Returns a paginated JSON object containing the transfer count, network details, a page cursor for continuation, and an array of transfer records — each with sender, recipient, transaction hash, block number, timestamp, asset name, token value, raw value, decimals, contract address, token ID, and category (e.g. erc20, erc721).","failureModes":["Invalid or malformed EVM address returns a 400 error","Unsupported network name returns an error — only ethereum/base/polygon/arbitrum/optimism are valid","Inner dimensions mismatch if both address and contracts are omitted","pageKey from a different query or expired cursor returns no results or an error","maxCount outside 1–100 range is rejected","Block numbers specified as invalid hex or decimal strings may cause a parse error"],"whenToPreferThis":"Choose this endpoint when you need comprehensive, paginated on-chain transfer history for a specific EVM wallet or contract across major networks (Ethereum, Base, Polygon, Arbitrum, Optimism). It is ideal for auditing wallet activity, tracking token flows, building portfolio history, or monitoring NFT movements — especially when you need filtering by asset category, direction (in/out), counterparty, or specific token contracts. Prefer this over block explorers when you need structured JSON output ready for agent consumption without API keys.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T00:44:12.475Z","isFirstParty":false}