Wallet Portfolio
Fetch the complete token portfolio for any wallet address with automatic token discovery and USD pricing. No hardcoded token lists — discovers ALL tokens algorithmically.GET /v1/onchain/wallet
Query Parameters
Wallet address. Supports EVM (0x…), Solana (base58), and Bitcoin addresses.
Target chain. Supported:
ethereum, base, arbitrum, polygon, bsc, optimism, avalanche, solana, bitcoin.Example Response
Response Fields
The queried wallet address.
The chain that was queried.
Sum of all token values in USD.
value_usd descending (highest value first).
Token Discovery
Tokens are discovered algorithmically — no hardcoded token lists. The discovery method varies by chain:| Chain | Discovery Method | API Key Required |
|---|---|---|
| Ethereum | Blockscout tokenlist | No |
| Base | Blockscout tokenlist | No |
| Arbitrum | Blockscout tokenlist | No |
| Polygon | Blockscout tokenlist | No |
| Optimism | Blockscout tokenlist | No |
| BSC | Alchemy alchemy_getTokenBalances | ALCHEMY_API_KEY |
| Avalanche | Alchemy alchemy_getTokenBalances | ALCHEMY_API_KEY |
| Solana | getTokenAccountsByOwner RPC | No |
| Bitcoin | Blockstream API | No |
BSC and Avalanche require an
ALCHEMY_API_KEY environment variable for token discovery. Without it, only native token balance is returned. All other chains work without any API key.Pricing
Token prices come from two sources, fetched in parallel:- Native tokens (ETH, BNB, SOL, BTC, MATIC, AVAX): CoinGecko
/simple/priceAPI - ERC-20 / SPL tokens: DexScreener
/tokens/v1/{chain}/{addresses}— batched 30 per request
price_usd: 0.0.
Error Handling
On error, returnsstatus: "error" with an empty portfolio rather than failing:

