> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uniblock.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Wallets and Portfolio Trackers

> How to use Uniblock to build multi-chain wallet views, portfolio dashboards, and account activity feeds.

# Wallets and Portfolio Trackers

Wallet products need one thing more than anything else: a consistent account view across many chains. Uniblock is a strong fit when you want token balances, NFT holdings, transfer history, and transaction activity without maintaining separate provider integrations per network.

## What to build with Uniblock

* A wallet home screen with balances across supported chains
* A portfolio tracker with token, NFT, and transaction views
* A recent activity feed for sends, receives, swaps, and NFT transfers
* Real-time alerts for monitored addresses using webhooks

***

## Recommended APIs

* [Token API overview](/reference/unified-api/api-overview-token) for balances, metadata, transfers, allowances, and token activity
* [NFT API overview](/reference/unified-api/api-overview-nft) for wallet holdings and collection-level enrichment
* [Transaction API overview](/reference/unified-api/api-overview-transaction) for account history
* [Webhook quickstart](/reference/webhook/webhook-quickstart) for real-time address monitoring

***

## Suggested implementation flow

### 1. Build the portfolio snapshot

Start with token balances, NFT balances, and the latest transactions for a wallet address. That gives you the minimum useful wallet experience.

```bash theme={null}
curl --location \
  'https://api.uniblock.dev/uni/v1/token/balance?chainId=1&walletAddress=0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb' \
  --header 'x-api-key: YOUR_API_KEY'
```

### 2. Add valuation and metadata

Once balances load reliably, enrich those positions with:

* `GET /token/metadata`
* `GET /token/price`
* `GET /nft/metadata`
* `GET /nft/collection-metadata`

This is the point where a plain balance checker becomes a portfolio tracker.

### 3. Layer in account activity

Use the transaction and transfer endpoints to build an activity tab with clearer event labeling:

* incoming and outgoing token transfers
* NFT transfers
* contract interactions
* chain-specific transaction details

### 4. Add real-time updates

For wallets with notifications, use address activity webhooks so the UI updates from events instead of repeated polling.

<Tip>
  Use webhooks for notifications and use Unified API reads for the canonical UI
  refresh after an event arrives.
</Tip>

***

## Where JSON-RPC fits

Use [JSON-RPC](/reference/unified-api/overview-jsonrpc) when you need chain-native methods such as:

* `eth_getBalance` for direct native balance checks
* `eth_call` for contract state reads
* `eth_sendRawTransaction` when your product also broadcasts signed transactions

For most wallet dashboard views, the Unified API is the faster starting point. Use JSON-RPC when you need lower-level control.

***

## Monitoring and debugging

When wallet traffic scales up, watch:

* [Analytics](/guides/uniblock/uniblock-analytics) for usage patterns and request volume
* [API Logs](/guides/uniblock/uniblock-api-logs) for failed calls, latency, and provider behavior
* [Rate Limits](/guides/uniblock/rate-limits) if the app performs aggressive polling

***

## Common pitfalls

<Warning>
  Avoid assuming all chains use the same address format. EVM and Solana addresses
  should be validated differently before you submit requests.
</Warning>

<Warning>
  Do not rely on price data alone for portfolio state. Keep balances and pricing
  as separate refresh layers so stale market data does not block balance updates.
</Warning>

***

## Related docs

* [Token API overview](/reference/unified-api/api-overview-token)
* [NFT API overview](/reference/unified-api/api-overview-nft)
* [Transaction API overview](/reference/unified-api/api-overview-transaction)
* [Authentication guide](/guides/uniblock/authentication)
