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 on 9 core chains (40+ on Enterprise) — 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 history (live window on self-service; archive add-ons or Enterprise for depth) and the same view across supported chains — 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 or gRPC (fixed-cost Kafka on Enterprise).
Balance API
Native and token balances for any wallet on 9 core chains (40+ on Enterprise), 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 WebSocket or gRPC on self-service (fixed-cost Kafka on Enterprise) 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.
Pricing
Start free. Scale when you ship.
Self-service plans cover 9 core chains with flat-rate add-ons — no surprise invoices. Every paid plan starts with a 7-day free trial.
Personal
For side projects, learning & testing. Personal use only — no commercial use.
billed annually ($468/yr) · save 20%
- 100k API points / mo ≈ 20k calls
- 30 req/min · 3 simultaneous
- Full GraphQL & REST schema
- Real-time data · 9 core chains 30-day trades · 4–8h on-chain
- API only — no streams
- Community support
Pro
For trading bots, alerts & dashboards on live DEX and price data.
billed annually ($948/yr) · save 20%
- 1M API points / mo ≈ 200k calls
- 90 req/min · 6 simultaneous
- 100k stream-minutes + 5 GB
- 100 concurrent streams
- Trading-data streams live DEX & prices
- Commercial-use license
- Real-time data · 9 core chains 30-day trades · 4–8h on-chain
- Community + Telegram support
Scale
For production real-time apps — every stream, scale on demand.
billed annually ($2,868/yr) · save 20%
- 5M API points / mo ≈ 1M calls
- 240 req/min · 12 simultaneous
- 2M stream-minutes + 50 GB
- 1,000 concurrent streams
- All streams onchain + mempool
- Commercial-use license
- Dedicated Slack support
Enterprise
Full history, unlimited streams & bulk delivery at scale.
flat platform fee — no metering
- Complete history · 40+ chains
- Unlimited WebSocket streaming no stream-min or GB limit
- Custom points & rate limits
- Kafka fixed-cost · S3 bulk export
- Coinpath® money flow
- SLA · SSO · dedicated support
Flat-rate add-ons on every open plan: $40 / 1M points · $20 / 100k stream-minutes · $8 / GB (bought yearly · save 20%) — same price at any volume, billed only for what you add.
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.
7-day free trial — balances, PnL and history on every chain, no node to run. Pull a wallet's full portfolio in your first call.