Wallet Portfolio API balances, PnL & history for any wallet, across chains
Stop calling ten RPCs per chain and stitching token lists, price feeds and trade logs into a portfolio. We've already indexed balances and trades across 40+ chains — so a wallet's full holdings, USD value, realized PnL and history come back in a single query, EVM and Solana together.
query { EVM(network: eth) { BalanceUpdates( where: {BalanceUpdate: {Address: {is: "0xab5801a7d398351b8be11c439e05c5b3259aec9b"}}} ) { Currency { Symbol } balance: sum(of: BalanceUpdate_Amount) } } }
A portfolio is more than a balance call.
Building a portfolio yourself means an archive node per chain, a token list you keep current, a price feed to join, and replaying every trade to compute PnL — repeated for each chain a wallet touched. We indexed balances and trades across every chain, so holdings, value, PnL and history come back in one query.
Four ways to get portfolio data — one schema underneath.
Design your query once in GraphQL, then read the exact same fields as GraphQL streams, Kafka, gRPC or a bulk cloud export. Pick the channel that fits your latency and volume — no second pipeline.
Everything a wallet holds, in one view.
A single wallet resolves to its native balances, every token and NFT it holds, its realized and unrealized PnL, its full history and the same view across every chain — all from one schema. Filter by wallet, token, chain or time and read it as a query or a live stream.
Every portfolio dataset, one GraphQL endpoint.
From a wallet's current holdings to its PnL, history and cross-chain view, the whole portfolio surface is one endpoint — no node, no token-list upkeep, no price feed to stitch. Each dataset is historical and streamable in real time over WebSocket, Kafka or gRPC.
Balance API
Native and token balances for any wallet across 40+ chains, summed from on-chain balance updates — the foundation of every portfolio.
Read the docs →TokensToken Balance API
Every ERC-20, SPL and TRC-20 a wallet holds with symbol, contract, amount and USD value — no per-token RPC calls or token-list upkeep.
Read the docs →PnLTrade & PnL API
A wallet's full DEX trade history with a USD price on every swap — the data behind realized and unrealized profit per token.
Read the docs →HistoryHistorical Balance
Point-in-time portfolio value at any past block or date for tax lots, audit, reconciliation and backfilling portfolio charts.
Read the docs →WalletAddress API
Labels, risk scoring and first/last-seen activity for any wallet — context to sit alongside its holdings and PnL.
Explore →SolanaSolana Balances
SOL and SPL-token balances and balance updates for any Solana wallet over gRPC, WebSocket and GraphQL — one wallet, every chain.
Read the docs →The portfolio products people ship on us.
Each one is a filter on the same indexed balance and trade data — query GraphQL for dashboards and tax reports, or subscribe over Kafka or gRPC for live wallet tracking.
Portfolio dashboard
Pull every native and token balance for a wallet across chains in one query, value it in USD and render a live multi-chain portfolio view with NFTs included.
balance: sum(of: BalanceUpdate_Amount)
Crypto tax & PnL tool
Reconstruct a wallet's cost basis from its full DEX trade history with a USD price on every swap, then compute realized and unrealized PnL per token for tax lots.
cost: sum(of: Trade_Side_AmountInUSD)
}
Wallet tracker & alerts
Stream balance updates for a watchlist of wallets and fire an alert the moment a holding moves — the feed behind copy-trading and whale-watch notifications.
where: { Address: "0x…" }
What teams say about our data
"We did a thorough search of the market for the best onchain data. Bitquery came out on top — and now powers all live prices across Nansen. We don't think of them as a vendor. They're a partner."
Bitquery does the hard work of parsing blockchain transaction data into a usable form so that we don't have to. We use their interface to diagnose issues with complex transactions and their analytics as a starting point for our own.
They proved they had the technology to deliver sophisticated data solutions. We extended our support through the Binance X fellowship — building an open-source library of visualization widgets on their blockchain data.
The complex raw data is available at different levels of detail and from different viewpoints — whether we need simple aggregated transfers or parameters for failed contract calls. The support is responsive, friendly and quick.
Partnering with Bitquery has been highly cost-effective — leveraging their established infrastructure rather than building our own let us rapidly expand our blockchain support and reach a much broader segment of on-chain users.
Bitquery's products are very intuitive and easy to use. We currently use their products to obtain DEX-related trading and liquidity information, which saves us the manpower and tedious technical details required to develop our own system. Their excellent technical team deserves special praise; they provide near-24/7 support and resolve issues quickly. I greatly appreciate their products and work ethic.
Bitquery provides the infrastructure we rely on every day. Fast, reliable, and comprehensive across the chains that matter to our business.
Start free. Scale when you ship.
Query every blockchain on every plan — no chain is paywalled. Move to commercial when you need volume, SLAs and bulk datashares.
- All blockchains, all plans
- 10 requests / minute
- 2 streams for testing
- GraphQL IDE access
- Scalable calls, no throttling
- SQL, Cloud, Kafka & more
- 24/7 engineering access
- Dedicated onboarding & SLA
- Snowflake, BigQuery, S3, Azure
- No setup or infrastructure
- Structured for AI agents & MCP
- Audit data for custodians
Wallet portfolio questions, answered.
How do I get a wallet's full portfolio with Bitquery?
Can I compute realized and unrealized PnL?
Does it cover NFTs as well as tokens?
Can I get a portfolio's value at a past date?
Does it work across multiple chains in one call?
Do you support Solana wallet portfolios?
Ship your portfolio product this week.
Free API key, balances, PnL and history on every chain, no node to run. Pull a wallet's full portfolio in your first call.