Get wallet history
Wallet APIs
Get Historical Net Worth
Retrieve historical net worth for one or more wallets with filters for time range, assets, liquidity, period, caching, and chain options.
GET
Get wallet history
Query details
- Either
walletorwalletsmust be provided - Boolean parameters are passed as strings (
"true","false").
| Parameter | Required | Default | Description |
|---|---|---|---|
wallet | Cond. | — | Single wallet address to query. |
wallets | Cond. | — | Comma-separated wallet addresses to query in aggregate. |
blockchains | No | All | Comma-separated list of chains (e.g., ethereum,base). |
from | No | 24h ago | Start of the historical window (Unix ms timestamp). |
to | No | Now | End of the historical window (Unix ms timestamp). |
unlistedAssets | No | true | "true" to include unlisted or non-indexed assets in the calculation. |
period | No | — | Baseline granularity of the time series. Supported values: 5min, 15min, 1h, 6h, 1d, 7d. See the note below — this sets the minimum point spacing, not a hard cap on the number of points. |
accuracy | No | maximum | Set to "maximum" to analyze all assets. By default, to optimize response time, assets making < 1% of total net worth may be skipped. |
testnet | No | false | "true" to include testnet data. |
minliq | No | 1000 | Minimum liquidity threshold in USD. Assets below are excluded. |
filterSpam | No | false | "true" to remove spam or low-quality assets from results. |
fetchUntrackedHistory | No | false | "true" to fetch historical prices for untracked assets. |
fetchAllChains | No | false | "true" to query all supported chains, including those without premium RPCs. |
shouldFetchPriceChange | No | false | Set to "24h" to include 24-hour price change data. Note: This parameter accepts the value "24h", not "true". |
backfillTransfers | No | false | "true" to trigger backfilling of transfer history for the wallet(s). Returns backfill_status in the response. |
How So a 30-day query with
period actually controls the number of pointsperiod defines a fixed grid of timestamps between from and to (e.g. period=1d produces one grid point every 24h). On top of that grid, the response always adds one extra point at the exact timestamp of every balance-changing transfer in the window, so the curve is accurate at the moment each balance change occurs.This means the total number of points is:period=1d returns ~30 grid points plus one point per transfer — a wallet with frequent activity can easily exceed 100 points. period sets the minimum spacing of the baseline grid, it is not a hard cap on the number of returned points.If you need exactly one point per interval, downsample client-side by bucketing balance_history into your target interval and keeping the last value of each bucket.Step-by-Step Tutorial and Video Walkthrough
- Check out the guide: Here
Usage Examples
- Query historical net worth for a single wallet with a specific time range and daily granularity
- Query multiple wallets with liquidity threshold
- Query Historical Net Worth for Multiple Wallets Across Multiple Chains
Response Format
The response contains the wallet addresses, current balance, and a time series of historical balances.| Field | Type | Description |
|---|---|---|
wallets | string[] | List of queried wallet addresses |
balance_usd | number | Current total balance in USD |
balance_history | [number, number][] | Array of [timestamp_ms, balance_usd] tuples representing the historical net worth |
backfill_status | string | Transfer backfill status: processed, processing, or pending (only present when backfillTransfers=true) |
Sample Response
Query Parameters
Wallet address
Comma-separated wallet addresses
Comma-separated blockchain IDs
Start date
End date
Include unlisted assets
Time period for history
Data accuracy level
Include testnet data
Minimum liquidity threshold
Filter spam tokens
Response
200 - application/json
Wallet history response