# System value and transaction stats API reference

Source: https://docs.settlemint.com/docs/api-reference/reference/system-value-transaction-stats
Read the organization-wide total asset value, the system value history, and transaction-activity counts and trends through the DALP Platform API.



These endpoints report the value and transaction activity of a whole DALP system, not a single participant. A treasury dashboard reads the current total value of all indexed assets, charts how that value moved over a window, and tracks how many transfers settled in the same period. The value endpoints answer "what is the organization holding right now, and how did it get here." The transaction endpoints answer "how much settlement activity ran through the system."

All four endpoints are read-only and scoped to the active organization and system from the request context. They report indexed state; they do not move assets or change configuration. For authentication and base URL setup, see [Getting started](/docs/api-reference/reference/getting-started). For how the organization and system context is resolved, see [Organization and system scope](/docs/api-reference/reference/organization-system-scope).

## Endpoints [#endpoints]

| Endpoint                                                           | Use it for                                                                       |
| ------------------------------------------------------------------ | -------------------------------------------------------------------------------- |
| `GET /api/v2/system/stats/value`                                   | The current organization-wide value of all indexed assets, in the base currency. |
| `GET /api/v2/system/stats/system-value-histories`                  | Total system value over a custom `from` and `to` window.                         |
| `GET /api/v2/system/stats/system-value-histories/presets/{preset}` | Total system value over a predefined trailing window.                            |
| `GET /api/v2/system/stats/transaction-count`                       | Transfer counts: a running total and a recent-window count.                      |
| `GET /api/v2/system/stats/transaction-history`                     | Transfer counts plus a daily series for charting.                                |

Every endpoint returns a JSON:API single-resource envelope with `data` and `links.self`.

The value and value-history endpoints cover the entire organization. The transaction-count and transaction-history endpoints scope to the caller's own wallet set, with an organization-wide view for callers that hold the admin permission. The [scope of transaction stats](#scope-of-transaction-stats) section explains the difference.

## Current system value [#current-system-value]

`GET /api/v2/system/stats/value` returns the current worth of all indexed assets in the system, expressed in the organization's base currency. It takes no query parameters.

```bash
curl "https://your-platform.example.com/api/v2/system/stats/value" \
  -H "x-api-key: YOUR_API_KEY"
```

```json
{
  "data": {
    "totalValue": "1452300.00",
    "conversionReliable": true
  },
  "links": {
    "self": "/v2/system/stats/value"
  }
}
```

| Field                | Type    | Description                                                                                                                                                                         |
| -------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `totalValue`         | string  | The total value of indexed assets, in the organization base currency, rounded to two decimals.                                                                                      |
| `conversionReliable` | boolean | `false` when one or more exchange rates used to convert into the base currency were unavailable and fell back to a placeholder rate. Treat `false` totals as indicative, not exact. |

Read `conversionReliable` before you present a total as authoritative. When it is `false`, at least one asset was priced with a fallback rate, so the figure can drift from the true converted value.

## System value history [#system-value-history]

The value-history endpoints return total system value as a timestamped series, so a dashboard can chart how the organization's holdings moved over time. Choose the custom-range endpoint when your interface controls the window, or the preset endpoint for a fixed trailing window.

### Custom range [#custom-range]

`GET /api/v2/system/stats/system-value-histories` accepts an `interval` of `hour` or `day`, plus `from` and `to` timestamps. `from` must be before or equal to `to`.

```bash
curl --globoff \
  "https://your-platform.example.com/api/v2/system/stats/system-value-histories?interval=day&from=2026-03-01T00:00:00.000Z&to=2026-03-07T00:00:00.000Z" \
  -H "x-api-key: YOUR_API_KEY"
```

| Parameter  | Description                                               |
| ---------- | --------------------------------------------------------- |
| `interval` | Required. `hour` or `day`. The bucket size of the series. |
| `from`     | Required. Start timestamp of the window.                  |
| `to`       | Required. End timestamp of the window.                    |

### Preset range [#preset-range]

`GET /api/v2/system/stats/system-value-histories/presets/{preset}` returns the same shape for a predefined trailing window, so you do not compute timestamps yourself.

| Preset            | Window                     |
| ----------------- | -------------------------- |
| `trailing24Hours` | The last 24 hours, hourly. |
| `trailing7Days`   | The last 7 days, daily.    |

```bash
curl "https://your-platform.example.com/api/v2/system/stats/system-value-histories/presets/trailing7Days" \
  -H "x-api-key: YOUR_API_KEY"
```

```json
{
  "data": {
    "range": {
      "interval": "day",
      "from": "2026-03-01T00:00:00.000Z",
      "to": "2026-03-08T00:00:00.000Z",
      "isPreset": true
    },
    "data": [
      { "timestamp": "2026-03-01T00:00:00.000Z", "totalValueInBaseCurrency": 1420500 },
      { "timestamp": "2026-03-02T00:00:00.000Z", "totalValueInBaseCurrency": 1438200 }
    ],
    "conversionReliable": true
  },
  "links": {
    "self": "/v2/system/stats/system-value-histories/presets/trailing7Days"
  }
}
```

| Field                             | Type    | Description                                                                                                                                 |
| --------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `range`                           | object  | The window the platform resolved for the request. Read it before plotting, because the platform clamps a window that runs past the present. |
| `range.interval`                  | string  | The bucket size, `hour` or `day`.                                                                                                           |
| `range.from`, `range.to`          | string  | The resolved start and end timestamps.                                                                                                      |
| `range.isPreset`                  | boolean | `true` when the window came from a preset, `false` for a custom range.                                                                      |
| `data[].timestamp`                | string  | The timestamp of the data point.                                                                                                            |
| `data[].totalValueInBaseCurrency` | number  | The total system value at that point, in the organization base currency.                                                                    |
| `conversionReliable`              | boolean | `false` when a fallback rate was used for any point in the series, as on the current value endpoint.                                        |

The resolved `range` can differ from the window you requested. The platform pulls `to` back to the present if you ask for a future end, and clamps `from` so it never runs past `to`. Chart against `range`, not your request, so the axis matches the returned points.

## Transaction activity [#transaction-activity]

The transaction endpoints count `TransferCompleted` settlements: completed transfers of assets in the system. The count endpoint returns running and recent totals; the history endpoint adds a daily series for charting.

### Transaction count [#transaction-count]

`GET /api/v2/system/stats/transaction-count` accepts a `timeRange` in days for the recent count.

```bash
curl "https://your-platform.example.com/api/v2/system/stats/transaction-count?timeRange=30" \
  -H "x-api-key: YOUR_API_KEY"
```

| Parameter   | Description                                                         |
| ----------- | ------------------------------------------------------------------- |
| `timeRange` | The recent window in days. An integer from 1 to 365. Defaults to 7. |

```json
{
  "data": {
    "totalTransactions": 18432,
    "recentTransactions": 512,
    "timeRangeDays": 30
  },
  "links": {
    "self": "/v2/system/stats/transaction-count"
  }
}
```

| Field                | Type    | Description                                                         |
| -------------------- | ------- | ------------------------------------------------------------------- |
| `totalTransactions`  | integer | All completed transfers in scope, across the system's full history. |
| `recentTransactions` | integer | Completed transfers within the last `timeRange` days.               |
| `timeRangeDays`      | integer | The recent window, in days, that the response used.                 |

### Transaction history [#transaction-history]

`GET /api/v2/system/stats/transaction-history` returns the same totals plus a daily series, bucketed by UTC day, for the requested window.

```bash
curl "https://your-platform.example.com/api/v2/system/stats/transaction-history?timeRange=7" \
  -H "x-api-key: YOUR_API_KEY"
```

| Parameter   | Description                                       |
| ----------- | ------------------------------------------------- |
| `timeRange` | The window in days. From 1 to 365. Defaults to 7. |

```json
{
  "data": {
    "totalTransactions": 18432,
    "recentTransactions": 96,
    "transactionHistory": [
      { "timestamp": "2026-03-06T00:00:00.000Z", "transactions": 12 },
      { "timestamp": "2026-03-07T00:00:00.000Z", "transactions": 21 }
    ],
    "timeRangeDays": 7
  },
  "links": {
    "self": "/v2/system/stats/transaction-history"
  }
}
```

| Field                               | Type    | Description                                                         |
| ----------------------------------- | ------- | ------------------------------------------------------------------- |
| `totalTransactions`                 | integer | All completed transfers in scope, across the system's full history. |
| `recentTransactions`                | integer | Completed transfers within the last `timeRange` days.               |
| `transactionHistory`                | array   | A daily series of transfer counts for the window.                   |
| `transactionHistory[].timestamp`    | string  | The UTC day of the bucket.                                          |
| `transactionHistory[].transactions` | integer | The number of completed transfers on that day.                      |
| `timeRangeDays`                     | integer | The window, in days, that the response used.                        |

A day with no transfers does not appear in `transactionHistory`. Fill missing days with a zero on the client when you plot a continuous axis.

## Scope of transaction stats [#scope-of-transaction-stats]

The value and value-history endpoints always report the whole organization. The transaction-count and transaction-history endpoints scope by caller:

* A standard caller sees transfers that involve one of their own wallets. The result counts a transfer when one of the caller's wallet addresses is a party to it.
* A caller with the admin permission sees the organization-wide transfer activity for the system.

A caller with no wallet in the system, such as an API key that has no default wallet, gets a valid empty result rather than an error: zero totals and an empty `transactionHistory` series. Treat an unexpected zero as a possible scope or wallet-mapping gap, not proof that the system has no settlement activity.

## When to use it [#when-to-use-it]

Use these endpoints when you need to:

* Show the current total value of a system's indexed assets in the organization base currency.
* Chart how that total moved over a custom window or a trailing preset.
* Track completed transfer activity as a running total, a recent count, and a daily trend.
* Build a treasury or operations dashboard that reports value and settlement activity for a whole system.

To read the authenticated participant's own portfolio value and asset-type breakdown instead of the system total, see [Portfolio statistics](/docs/api-reference/tokens/portfolio-statistics).
