Explorer
Syncing—

Wallet Portfolio AggregationService

wallet-portfolio

Wallet holdings across 12 chains in one call: the 10 largest EVM chains by TVL (Ethereum, Base, BNB Chain, Arbitrum, Monad, Robinhood Chain, Polygon, Avalanche, Plasma, Optimism) plus Solana and Hyperliquid. POST JSON to /v1/portfolio: {"address": "0x..." or "vitalik.eth", "solana_address": "<base58>", "chains": "all"} or a list such as ["base", 1, "solana"]; {"address", "chain_id"} still returns one chain. The response is a JSON object with chains (per chain: status, coverage, native balance and every held token with symbol, contract, decimals and exact balance), summary and ens when a name was given. EVM tokens are those on a verified token list (coverage says how complete each chain is); Solana returns every token account; Hyperliquid returns spot balances and perp positions. No USD values. A slow chain is marked timeout without failing the rest. Live data.

Active Suppliers
2
of 2 ever configured
Service Info
Service ID
wallet-portfolio
Compute Units / Relay
100,000
Active Applications
2
Relay Mining EMA
1 relays
Service Metadata Cardsource: on-chain metadata (LCD)
{10 items
"schema":"pocket-service-card/v1"
"description":"Wallet holdings across 12 chains in one call: the 10 largest EVM chains by TVL (Ethereum, Base, BNB Chain, Arbitrum, Monad, Robinhood Chain, Polygon, Avalanche,..."
"rpc_types":[1 item
0:{4 items
"type":"REST"
"intent":"expected"
"backend_hint":"wallet-portfolio HTTP server on :8080; POST /v1/portfolio (also POST /v1/tool), GET /v1/health + /v1/version."
"notes":"Every response is a JSON object; errors are JSON 4xx with an error field."
}
]
"apis":[1 item
0:"portfolio-api"
]
"specs":[1 item
0:{4 items
"kind":"openapi"
"api":"portfolio-api"
"url":"https://main.aristeon.org/wallet-portfolio/openapi.json"
"notes":"Machine-readable OpenAPI 3.0.3 contract for this service, with example requests."
}
]
"access":"public"
"results":"variable"
"serving":{7 items
"backend":"Single-process Python 3 HTTP server, standard library only, behind a RelayMiner (rest backend). No auth toward the backend; callers cannot send headers. EVM bal..."
"implementations":[1 item
0:"wallet-portfolio >= 1.0"
]
"docs":"https://main.aristeon.org/wallet-portfolio/README.md"
"min_disk_gb":1
"min_ram_gb":1
"healthcheck":[3 items
0:{4 items
"rpc_type":"REST"
"request":{2 items
"path":"/v1/version"
"method":"GET"
}
"expect":{2 items
"json_path":"$.service"
"matches":"^wallet-portfolio$"
}
"notes":"Identity probe: pins the backend to this service so a wrong backend cannot be staked under this id."
}
1:{4 items
"rpc_type":"REST"
"request":{2 items
"path":"/v1/health"
"method":"GET"
}
"expect":{2 items
"json_path":"$.status"
"matches":"^ok$"
}
"notes":"Readiness probe."
}
2:{4 items
"rpc_type":"REST"
"request":{3 items
"path":"/v1/portfolio"
"method":"POST"
"body":{2 items
"address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
"chains":[1 item
0:"base"
]
}
}
"expect":{2 items
"json_path":"$.chains[0].status"
"matches":"^ok$"
}
"notes":"Functional probe: a well-known address on Base; one Multicall3 call."
}
]
"notes":"Token names come from the Uniswap Labs Default token list (GPL-3.0), verified on chain, and the Solana Labs token list (Apache-2.0). Upstreams are public endpoi..."
}
"docs":"https://main.aristeon.org/wallet-portfolio/README.md"
"updated":"2026-09-29"
}