What’s inside
| Field group | Examples |
|---|---|
| Identity | chainId, address, ens/sns, tags, firstSeenAt |
| Holdings | holdings[] with token, balance, valueUsd, costBasisUsd, unrealizedPnlUsd |
| Net worth | netWorthUsd, netWorthHistory[] at hour/day granularity |
| Activity | txCount24h, tradeCount30d, avgTradeSizeUsd, activeChains[] |
| Classification | walletType (EOA / contract / exchange / smart-money), riskScore |
Coverage & freshness
- Cross-chain: balances and PnL aggregated across every supported chain by default; filter per-chain if needed.
- Freshness: holdings refresh within seconds of a matching transfer/trade; net-worth history snapshots hourly.
Access
REST
/v2/wallet/{chain}/{walletAddress}/pnl, /v2/wallet/{chain}/{walletAddress}/net-worth, /v2/wallet/{chain}/{walletAddress}/tokens-balance, /v2/wallet/{chain}/{walletAddress}/transfers.GraphQL
Query holdings-joined-trades in a single request.
WebSocket
Per-wallet channels:
dex-wallet-balance:{chain}_{walletAddress}, dex-wallet-trade:{chain}_{walletAddress}, dex-wallet-token-pnl: / dex-wallet-pnl-list:. SDK: client.stream.subscribeWalletBalance / subscribeWalletTrade / subscribeWalletPnl.Kafka
Built by consuming
{chain}.v1.transfers.proto + {chain}.dex.trades topics and filtering by address.SDK
client.wallet.getPnl(), client.wallet.getNetWorth(), client.wallet.getTokensBalance().MCP
wallets_profile, wallets_activity for agents.Common use cases
- Portfolio dashboards for retail users
- Whale / smart-money follower feeds
- KYC-lite “who is this wallet?” previews
- Per-campaign attribution (airdrops, rewards)
- Compliance-triage input (see KYA)
Billing
Profile and holdings endpoints are 1 read unit; time-series PnL and history scale with the returned range.Next
Smart Money
Curated high-performing wallet cohorts built on top of Wallets.
KYA — Know Your Address
Risk-scored profile for any wallet address.

