Crypto wallet portfolio API: holdings valued in USD
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.
When to use it
- List a wallet's token holdings with USD values
- Check what an address holds before trading with it
- Give an agent a quick balance overview
Guide: Wallet balance API, multi-chain
Inputs
| Name | Type | Description |
|---|---|---|
address (required) | string | 0x wallet address |
chain | string | Network: base (default), eth, arb or op. One of: base, eth, arb, op. |
tokens | string | Optional extra comma-separated 0x token addresses (up to 20) |
Request
Over HTTP, with a card key from /credits:
curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/wallet/portfolio?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
Or one of your 25 free calls, no key:
curl "https://tools.funwords.eu/wallet/portfolio?address=0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045&trial=1"
Without a key, the same URL answers 402 Payment Required with x402 and MPP terms, so an agent with a wallet pays per call in USDC (Base, Polygon, Arbitrum or Solana over x402; Base or Tempo over MPP) and retries.
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."
}
From an AI agent (MCP)
Add the MCP server to Claude, Cursor or any MCP client. This tool is wallet_portfolio, and the first 25 successful calls are free:
https://tools.funwords.eu/mcp
Questions
Which tokens are included?
The chain's common tokens, or the token addresses you pass in tokens.
How do I pay?
Each successful call costs $0.005; failed calls are not charged. The first 25 calls are free. Then pay with card credits (from $1; the key goes in an Authorization header or, for clients that can only fetch a URL, as api_key= in the URL) or per call in USDC over x402 or MPP. No account is needed.