# Wallet balance API, multi-chain Native ETH balance (eth_getBalance) of any 0x wallet address on Ethereum at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use eth_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. ## When an agent wants this - Check whether a wallet can pay gas or a transfer - Read the ETH balance at the latest block in wei and ETH - Add a balance check to an agent before it sends funds ## Ethereum native balance Ethereum native balance. $0.01 per successful call; failed calls are never charged. Native ETH balance (eth_getBalance) of any 0x wallet address on Ethereum at the latest block, in wei and in ETH. Use to check whether a wallet can pay gas or a transfer; for ERC-20 tokens use eth_token_balance, for all holdings at once use wallet_portfolio. A malformed address is rejected with 400, uncharged. Inputs: address (required): 0x wallet or contract address. Free first (25 successful calls per caller, no key): curl "https://tools.funwords.eu/eth/balance?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&trial=1" With a card key from https://tools.funwords.eu/credits, in a header or, when your client can only fetch a URL, in the URL: curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/eth/balance?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" curl "https://tools.funwords.eu/eth/balance?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&api_key=adt_…" Without a key the same URL answers 402 with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://tools.funwords.eu/mcp) this tool is eth_balance. Example result: { "chain": "Ethereum", "chainId": 1, "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "balanceWei": "1234500000000000000", "balance": "1.2345", "symbol": "ETH", "block": 123456789 } Tool page: https://tools.funwords.eu/tools/eth-balance ## Wallet balance, USDC balance: native and USDC balances on 5 networks Wallet balance, USDC balance: native and USDC balances on 5 networks. $0.005 per successful call; failed calls are never charged. Read a wallet's native coin and USDC balances on Base, Ethereum, Arbitrum, Optimism and Polygon in one call, live from each network, plus the USDC total. Use to find where a wallet's funds are before a payment or bridge; for one token on one network use _token_balance, for all tokens on Base use wallet_portfolio. A network whose nodes do not answer is listed with an error instead of failing the call. Inputs: address (required): 0x wallet address. Free first (25 successful calls per caller, no key): curl "https://tools.funwords.eu/wallet/balances?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&trial=1" With a card key from https://tools.funwords.eu/credits, in a header or, when your client can only fetch a URL, in the URL: curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/wallet/balances?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" curl "https://tools.funwords.eu/wallet/balances?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&api_key=adt_…" Without a key the same URL answers 402 with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://tools.funwords.eu/mcp) this tool is wallet_balances. Example result: { "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "usdcTotal": "12.5", "networks": [ { "chain": "Base", "chainId": 8453, "native": "0.0123", "nativeSymbol": "ETH", "usdc": "12.5", "error": null } ] } Tool page: https://tools.funwords.eu/tools/wallet-balances ## Wallet portfolio value: holdings valued in USD Wallet portfolio value: holdings valued in USD. $0.005 per successful call; failed calls are never charged. USD value of a wallet on Base, Ethereum, Arbitrum or Optimism: native ETH plus major tokens (USDC and WETH everywhere, the common Base tokens on Base) and up to 20 tokens you add, each priced from its deepest Uniswap v3 pool, read live from the chain. Returns holdings, total and anything that could not be priced. Not a full token inventory. Use to check what a wallet is worth before trading, lending or paying. Inputs: address (required): 0x wallet address; chain: Network: base (default), eth, arb or op; tokens: Optional extra comma-separated 0x token addresses (up to 20). Free first (25 successful calls per caller, no key): curl "https://tools.funwords.eu/wallet/portfolio?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&trial=1" With a card key from https://tools.funwords.eu/credits, in a header or, when your client can only fetch a URL, in the URL: curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/wallet/portfolio?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" curl "https://tools.funwords.eu/wallet/portfolio?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&api_key=adt_…" Without a key the same URL answers 402 with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://tools.funwords.eu/mcp) this tool is wallet_portfolio. Example result: { "chain": "Base", "chainId": 8453, "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "totalUsd": 1234.56, "ethUsd": 3850.12, "block": 37000000, "holdings": [ { "token": "native", "symbol": "ETH", "balance": "0.25", "priceUsd": 3850.12, "valueUsd": 962.53, "quotedIn": "USDC" }, { "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "symbol": "USDC", "balance": "272.03", "priceUsd": 1, "valueUsd": 272.03, "quotedIn": "USDC" } ], "unpriced": [], "tokensChecked": 9, "method": "Uniswap v3 spot price from the pool with the largest USDC or WETH reserve", "note": "Only native ETH, the listed major tokens and any tokens you pass are checked." } Tool page: https://tools.funwords.eu/tools/wallet-portfolio ## Questions Docs for agents: https://tools.funwords.eu/llms.txt · OpenAPI: https://tools.funwords.eu/openapi.json · All guides: https://tools.funwords.eu/guides