{"uid":"cap_oslB9s4DIuKvfaz_LCIRP","slug":"ethereum-portfolio-balance-lookup-eth-erc-20-9f84a5c3","name":"Ethereum Portfolio Balance Lookup (ETH + ERC-20)","description":"Call when an agent needs native ETH plus up to 20 ERC-20 balances for one Ethereum address. Send address and an optional tokens list; omit tokens for Circle USDC. Multicall3 batches the reads. Read-only. No spend. Send JSON {\"address\":\"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045\",\"tokens\":[\"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\"]}. Exact $0.003 USDC on Base. Try unpaid POST /v1/sandbox/eth-portfolio first.","url":"https://agentshelf.syntexa.ch/v1/eth-portfolio?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"tokens":{"type":"array","items":{"type":"string","description":"ERC-20 contract. Example: 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48. At most 20. Omit the list to use Circle USDC."},"examples":[["0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"]],"maxItems":20,"description":"Up to 20 ERC-20 addresses. Example: [\"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\"]. Omit the field for Circle USDC. An empty list is rejected."},"address":{"type":"string","examples":["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"],"description":"Holder on Ethereum mainnet. Example: 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045. Returns native ETH plus ERC-20 balances. EIP-55 or all one case."}}},"responseSchema":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_XJPMhm0sKR1FFaGDb1Z2b","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 native ETH balance plus up to 20 ERC-20 token balances for a given Ethereum mainnet address using Multicall3 batch reads.","exampleAgentPrompt":"What's the ETH balance and USDC balance for wallet address 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 on Ethereum mainnet?","exampleUseCases":[{"title":"DeFi portfolio snapshot before rebalancing","prompt":"Can you check the ETH and USDC balances for wallet 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 so I know what I'm working with before I decide how to rebalance?"},{"title":"Airdrop eligibility balance check","prompt":"I need to verify whether address 0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B holds at least some USDC at 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 and also its ETH balance — can you pull that up?"},{"title":"Multi-token treasury audit","prompt":"Pull the balances for ETH plus these three tokens — USDC 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, DAI 0x6B175474E89094C44Da98b954EedeAC495271d0F, and WETH 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 — for our treasury wallet 0x742d35Cc6634C0532925a3b844Bc454e4438f44e."}],"resultDescription":"Returns the native ETH balance alongside balances for each specified ERC-20 token contract address (defaulting to Circle USDC if no token list is provided) for the queried Ethereum mainnet address, batched via Multicall3 for efficiency.","failureModes":["Invalid or malformed Ethereum address returns an error","Empty token array is rejected — must omit or provide at least one address","More than 20 ERC-20 addresses in the tokens list is rejected","Invalid ERC-20 contract address may return zero balance or error","Payment of exactly $0.003 USDC on Base must succeed; underpayment rejects the call","Sandbox endpoint (/v1/sandbox/eth-portfolio) available for unpaid testing"],"whenToPreferThis":"Choose this endpoint when you need to read native ETH plus multiple ERC-20 balances for a single Ethereum mainnet address in one efficient batched call. It is particularly well-suited for portfolio snapshots, treasury audits, or pre-transaction checks where you want both ETH and up to 20 tokens at once without making separate RPC calls. Prefer this over generic blockchain RPC endpoints when you want a simple JSON API without managing node infrastructure.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-30T00:36:17.015Z","isFirstParty":false,"canonicalSlug":"ethereum-portfolio-balance-lookup-eth-erc-20-9f84a5c3"}