Wallet Portfolio & Balance Tracking
Overview of Tatum’s Wallet Portfolio APIs, showing how to fetch real-time balances, transaction history, and multi-chain asset data for stablecoins, tokens, and NFTs to power dashboards, compliance, and analytics.
Knowing what your users hold is essential for real-time visibility, auditing, and stablecoin management.
Tatum’s Wallet Portfolio APIs let you see all assets held by a wallet across supported chains — including stablecoins, native tokens, NFTs, and multitokens.
This guide helps you fetch portfolio data, transaction history, and construct balance summaries for dashboards or compliance systems.
Get Wallet Portfolio (Popular 🔥)
GET /v4/wallet/portfolio/{address}
Fetch a complete portfolio of assets (stablecoins, tokens, NFTs, and native balances) for any wallet.
Explore Docs →
Get Transaction History
GET /v4/data/transactions/history
Retrieve transaction history for deeper portfolio analysis.
Explore Docs →
Key Use Cases
- Stablecoin Balance Tracking: Check USDC, USDT, or DAI balances per wallet.
- Multi-chain Portfolio: Aggregate holdings across Ethereum, BSC, Polygon, etc.
- Transaction History: View deposits, withdrawals, and transfers in one feed.
- Compliance Snapshots: Generate portfolio state at reporting intervals.
- User Dashboards: Display token holdings and their fiat equivalents in your app.
Example – Fetch Wallet Portfolio (cURL)
curl --request GET \
--url 'https://api.tatum.io/v4/data/wallet/portfolio?chain=ethereum-mainnet&addresses=0x8Bd071e1Aa429F079432101D0e7106CE726EbB47&tokenTypes=fungible' \
--header 'accept: application/json' \
--header 'x-api-key: YOUR_API_KEY'const options = {
method: 'GET',
headers: {
accept: 'application/json',
'x-api-key': 'YOUR_API_KEY'
}
};
fetch('https://api.tatum.io/v4/data/wallet/portfolio?chain=ethereum-mainnet&addresses=0x8Bd071e1Aa429F079432101D0e7106CE726EbB47&tokenTypes=fungible', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Sample Response – Portfolio Summary
{
"result": [
{
"chain": "ethereum-mainnet",
"address": "0x8Bd071e1Aa429F079432101D0e7106CE726EbB47",
"balance": "0.00018",
"denominatedBalance": "18000",
"decimals": 8,
"tokenAddress": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
"type": "fungible"
},
{
"chain": "ethereum-mainnet",
"address": "0x8Bd071e1Aa429F079432101D0e7106CE726EbB47",
"balance": "2000000",
"denominatedBalance": "200000000000000",
"decimals": 8,
"tokenAddress": "0x3fc29836e84e471a053d2d9e80494a867d670ead",
"type": "fungible"
}
],
"prevPage": "",
"nextPage": ""
}Example – Get Wallet Transaction History (cURL)
curl --request GET \
--url 'https://api.tatum.io/v4/data/transaction/history?chain=ethereum-mainnet&addresses=0x8Bd071e1Aa429F079432101D0e7106CE726EbB47&sort=DESC' \
--header 'accept: application/json' \
--header 'x-api-key: YOUR_API_KEY'This allows you to map portfolio movements over time, such as deposits, stablecoin redemptions, or swaps.
Combine Portfolio + Exchange Rate API
Tatum also provides an Exchange Rate API
to convert portfolio values into fiat (USD, EUR, etc.).
curl --request GET \
--url 'https://api.tatum.io/v4/data/rate/symbol?symbol=ETH&basePair=USD' \
--header 'accept: application/json' \
--header 'x-api-key: YOUR_API_KEY'{
"value": "3862.76994400",
"basePair": "USD",
"timestamp": 1761055172744,
"source": "TATUM",
"symbol": "ETH"
}Combine this with portfolio data to compute a full fiat-denominated balance sheet.
Portfolio Refresh Strategy
- Fetch the portfolio snapshot every few minutes or after a webhook alert.
- Cache token metadata (symbols, decimals, logos) to avoid re-fetching on every render.
- Convert balances to fiat using the Exchange Rate API.
- Store aggregated portfolio data for user dashboards and compliance logs.
FAQs
What does the Wallet Portfolio API do?
The Wallet Portfolio API retrieves a wallet’s complete asset breakdown, including native coins, ERC-20 tokens, and NFTs. It consolidates balances and token data into a unified JSON schema for portfolio tracking and analytics.
Which chains are supported?
All Tatum-indexed chains: Ethereum, Polygon, BSC, Solana, Tron, Bitcoin, and more. The same endpoint structure applies across all supported networks.
How often should I refresh portfolio data?
For real-time dashboards, refresh every 30–60 seconds or subscribe to transaction webhooks. For compliance or tax snapshots, daily or hourly updates may suffice.
Can I get historical balances?
Yes. Use Historical Wallet Balance API to query the balance of any wallet at a past block height or timestamp. Combine with transaction history for time-based portfolio analytics.
How do I calculate total USD value?
Multiply each token’s balance by its current exchange rate (from the Exchange Rate API), then sum across all holdings. Example: totalUsd = Σ(balance[i] * rate[i]).
Best Practices
- Use wallet portfolio + transaction history for full balance audits.
- Combine with Exchange Rate API for fiat value tracking.
- Store portfolio snapshots periodically for analytics or reporting.
- Cache token data locally for faster UI performance.
- Never expose API keys or wallet addresses publicly.
With these APIs, you can power real-time portfolio dashboards, compliance systems, or tax and accounting tools — all through Tatum’s unified blockchain data layer.
Updated 2 days ago