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

# 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.

### Query details

* **Either `wallet` or `wallets` must 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.                                                                                         |

<Note>
  **How `period` actually controls the number of points**

  `period` 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:

  ```
  points ≈ (to − from) / period   +   number of transfers in the window
  ```

  So a 30-day query with `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.
</Note>

### Step-by-Step Tutorial and Video Walkthrough

* Check out the guide: [Here](https://docs.mobula.io/guides/how-to-track-wallet-historical-net-worth)

***

​

### Usage Examples

* Query historical net worth for a single wallet with a specific time range and daily granularity

```bash theme={null}
curl -X GET http://demo-api.mobula.io/api/1/wallet/history?wallet=4tqMHgB8jjbTgefVfqtVFYzyfQz2LQ8T3E922ePmt6kZ&from=1704067200000&to=1735689600000&period=1d
```

* Query multiple wallets with liquidity threshold

```bash theme={null}
curl -X GET https://demo-api.mobula.io/api/1/wallet/history?wallets=0x33e833f33ced917af1c2879faa95f375a2a66407,0x12e833f33ced917af1c2879faa95f375a2a66408&minliq=1000&period=1d
```

* Query Historical Net Worth for Multiple Wallets Across Multiple Chains

```bash theme={null}
curl -X GET https://demo-api.mobula.io/api/1/wallet/history?wallets=0x6b114A6bCACEDE76A714d251949fAaC5ac3245A8,4X2FZ9PqrjRPRRxSConh1r8eQarEwrrMtXLkzhA1J4E9&blockchains=1,8453,42161,10,59144,56,137,43114,81457,169,34443,solana,1030,4200&from=1739878441921&period=1h&unlistedAssets=true&accuracy=maximum
```

### 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

```json theme={null}
{
  "data": {
    "wallets": ["0x6b114A6bCACEDE76A714d251949fAaC5ac3245A8"],
    "balance_usd": 15420.55,
    "balance_history": [
      [1739878441921, 14200.30],
      [1739882041921, 14350.80],
      [1739885641921, 14500.10],
      [1739889241921, 14800.55],
      [1739892841921, 15100.20],
      [1739896441921, 15420.55]
    ],
    "backfill_status": "processed"
  }
}
```


## OpenAPI

````yaml get /1/wallet/history
openapi: 3.0.0
info:
  version: 1.0.0
  title: Mobula API
  description: >-
    Documentation of the Mobula API


    **Demo API**: The default server (demo-api.mobula.io) is a demo API with
    rate limits.

    For production use, please use api.mobula.io with an API key from
    https://admin.mobula.io
servers:
  - url: https://demo-api.mobula.io/api/
    description: Demo API (rate limited, for testing only)
  - url: https://api.mobula.io/api/
    description: Production API (requires API key)
security: []
tags:
  - name: V2 - Token
    description: Token details, price, security, ATH, and holder data
  - name: V2 - Market Data
    description: Market details, OHLCV history, and lighthouse metrics
  - name: V2 - Trades
    description: Token trades, enriched trades, and trade filters
  - name: V2 - Wallet
    description: Wallet positions, activity, trades, analysis, and labels
  - name: V2 - Assets
    description: Cross-chain asset details and price history
  - name: V2 - Swap
    description: Swap quoting and execution
  - name: V2 - Perps
    description: Perpetual futures quoting, execution, and positions
  - name: V2 - Bridge
    description: Cross-chain bridge quoting and intent status (Alpha Preview)
  - name: V2 - DeFi
    description: Bonding pools and pulse data
  - name: V2 - Search
    description: Universal fast search
  - name: V2 - Blockchains
    description: System metadata and chain listings
  - name: V1 - Market Data
    description: Market prices, history, sparklines, pairs, and multi-data
  - name: V1 - Wallet
    description: Wallet portfolio, transactions, history, and NFTs
  - name: V1 - Token
    description: First buyers
  - name: V1 - Trades
    description: Market trades by pair
  - name: V1 - Metadata
    description: Token metadata, categories, trendings, and news
  - name: V1 - Assets
    description: List all assets
  - name: V1 - Search
    description: Search for assets, tokens, and pairs
  - name: V1 - DeFi
    description: Bonding pool pulse data
  - name: V1 - Blockchains
    description: Blockchain listings, pairs, and stats
  - name: V1 - Webhooks
    description: Webhook management
  - name: V1 - Feed
    description: Custom feed creation
paths:
  /1/wallet/history:
    get:
      tags:
        - V1 - Wallet
      summary: Get wallet history
      parameters:
        - schema:
            type: string
            description: Wallet address
          required: false
          description: Wallet address
          name: wallet
          in: query
        - schema:
            type: string
            description: Comma-separated wallet addresses
          required: false
          description: Comma-separated wallet addresses
          name: wallets
          in: query
        - schema:
            type: string
            description: Comma-separated blockchain IDs
          required: false
          description: Comma-separated blockchain IDs
          name: blockchains
          in: query
        - schema:
            type: string
            description: Start date
          required: false
          description: Start date
          name: from
          in: query
        - schema:
            type: string
            description: End date
          required: false
          description: End date
          name: to
          in: query
        - schema:
            type: string
            description: Include unlisted assets
          required: false
          description: Include unlisted assets
          name: unlistedAssets
          in: query
        - schema:
            type: string
            description: Time period for history
          required: false
          description: Time period for history
          name: period
          in: query
        - schema:
            type: string
            description: Data accuracy level
          required: false
          description: Data accuracy level
          name: accuracy
          in: query
        - schema:
            type: string
            description: Include testnet data
          required: false
          description: Include testnet data
          name: testnet
          in: query
        - schema:
            type: string
            description: Minimum liquidity threshold
          required: false
          description: Minimum liquidity threshold
          name: minliq
          in: query
        - schema:
            type: string
            description: Filter spam tokens
          required: false
          description: Filter spam tokens
          name: filterSpam
          in: query
      responses:
        '200':
          description: Wallet history response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      wallets:
                        type: array
                        items:
                          type: string
                      balance_usd:
                        type: number
                      balance_history:
                        type: array
                        items:
                          type: array
                          items:
                            type: number
                          minItems: 2
                          maxItems: 2
                      backfill_status:
                        type: string
                        enum:
                          - processed
                          - processing
                          - pending
                    required:
                      - wallets
                      - balance_usd
                      - balance_history
                required:
                  - data

````