System value and transaction stats API reference
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. For how the organization and system context is resolved, see Organization and system scope.
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 section explains the difference.
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.
curl "https://your-platform.example.com/api/v2/system/stats/value" \
-H "x-api-key: YOUR_API_KEY"{
"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
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
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.
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
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. |
curl "https://your-platform.example.com/api/v2/system/stats/system-value-histories/presets/trailing7Days" \
-H "x-api-key: YOUR_API_KEY"{
"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
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
GET /api/v2/system/stats/transaction-count accepts a timeRange in days for the recent count.
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. |
{
"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
GET /api/v2/system/stats/transaction-history returns the same totals plus a daily series, bucketed by UTC day, for the requested window.
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. |
{
"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
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
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.
Integration patterns
Answer common integration questions about DALP event access, token discovery, upgrade operations, operational monitoring, and self-hosted deployment responsibilities.
System upgrade comparison API
Read your system's upgrade readiness through the DALP Platform API. Compare every deployed component against the network directory, see which differ, and confirm what an upgrade will change before you run it.