SettleMint
Reference

System identity and compliance stats API reference

Read organization-wide identity, claim, trusted-issuer, and topic-scheme statistics through the DALP Platform API, including current snapshots, trailing-window series, and claim coverage gaps.

A compliance officer reporting to a regulator needs to answer plain questions with current numbers: how many identities are registered and active, the live versus revoked verification claims, which trusted issuers are still authorized, and where claim coverage has gaps. The system identity and compliance stats API answers each one. These endpoints report the organization-wide state of the identity and compliance layer, both as current snapshots and as trailing-window series for charts.

Every endpoint here is read-only. They report state the platform has already indexed. They do not register identities, issue or revoke claims, or change any trusted-issuer registry. For authentication and base URL setup, see Getting started. For the total value and transfer activity of the same organization, see System value and transaction stats.

Endpoints

EndpointUse it for
GET /api/v2/system/stats/identity-countCurrent created, active, and pending-registration identity counts.
GET /api/v2/system/stats/identity-stat-timeseriesActive identity count over a custom date range.
GET /api/v2/system/stats/identity-stat-timeseries/presets/{preset}Active identity count over a predefined trailing window.
GET /api/v2/system/stats/claim-stat-snapshots/currentCurrent issued, active, removed, and revoked claim counts.
GET /api/v2/system/stats/claim-stat-rangesClaim counts over a custom date range, returned as a timestamped series.
GET /api/v2/system/stats/claim-stat-range-presets/{preset}Claim counts over a predefined trailing window.
GET /api/v2/system/stats/trusted-issuer-stat-snapshots/currentCurrent added, active, and removed trusted-issuer counts.
GET /api/v2/system/stats/trusted-issuer-stat-rangesTrusted-issuer counts over a custom date range.
GET /api/v2/system/stats/trusted-issuer-stat-range-presets/{preset}Trusted-issuer counts over a predefined trailing window.
GET /api/v2/system/stats/topic-scheme-stat-snapshots/currentCurrent registered, active, and removed topic-scheme counts.
GET /api/v2/system/stats/topic-scheme-stat-rangesTopic-scheme counts over a custom date range.
GET /api/v2/system/stats/topic-scheme-stat-range-presets/{preset}Topic-scheme counts over a predefined trailing window.
GET /api/v2/system/stats/topic-scheme-claims-coverageActive topic schemes that hold no active claims, so you can find coverage gaps.
GET /api/v2/system/stats/country-asset-countAsset distribution by issuer country.

Each endpoint returns the single-resource envelope with data and links.self. The active organization and system context bound every read, and the figures cover that whole organization rather than the caller's own wallets. The conventions are the same across the Platform API, as described in Organization and system scope.

Choose a snapshot, a custom range, or a preset

The identity, claim, trusted-issuer, and topic-scheme surfaces each offer up to three shapes of the same data.

A snapshot endpoint, ending in /snapshots/current, returns the latest totals as a single object. Use it for headline numbers on a dashboard.

A range endpoint accepts a custom window through three query parameters: interval is hour or day, and from and to are timestamps. The platform rejects a request where from is after to. Use a custom range when the reader picks the dates.

A preset endpoint takes a preset path parameter of trailing24Hours or trailing7Days. The trailing24Hours preset resolves to an hourly window over the last day; trailing7Days resolves to a daily window over the last week. Use a preset for the common "last 24 hours" or "last 7 days" toggle without computing dates yourself.

Range and preset responses both carry a resolved range object so you can confirm exactly which window the platform used.

Identity statistics

GET /api/v2/system/stats/identity-count returns the current count of identities the identity factory has created, how many are active, and how many are awaiting registration.

{
  "data": {
    "userIdentitiesCreatedCount": 1842,
    "activeUserIdentitiesCount": 1790,
    "pendingRegistrationsCount": 52
  },
  "links": {
    "self": "/v2/system/stats/identity-count"
  }
}
FieldTypeDescription
userIdentitiesCreatedCountnumberIdentities the identity factory has created.
activeUserIdentitiesCountnumberIdentities that are currently active.
pendingRegistrationsCountnumberIdentities created but not yet registered.

GET /api/v2/system/stats/identity-stat-timeseries and its preset variant return the active identity count over time, ready to plot.

{
  "data": {
    "range": {
      "interval": "day",
      "from": "2026-06-14T00:00:00.000Z",
      "to": "2026-06-21T00:00:00.000Z",
      "isPreset": true
    },
    "identityStats": [
      { "timestamp": "2026-06-20T00:00:00.000Z", "activeUserIdentitiesCount": 1785 },
      { "timestamp": "2026-06-21T00:00:00.000Z", "activeUserIdentitiesCount": 1790 }
    ]
  },
  "links": {
    "self": "/v2/system/stats/identity-stat-timeseries/presets/trailing7Days"
  }
}
FieldTypeDescription
rangeobjectThe resolved window: interval, from, to, and isPreset.
identityStatsarrayThe active-identity series.
identityStats[].timestampstringThe bucket timestamp.
identityStats[].activeUserIdentitiesCountnumberThe active identity count at that point.

Claim statistics

GET /api/v2/system/stats/claim-stat-snapshots/current returns the current state of verification claims across the organization.

{
  "data": {
    "totalIssuedClaims": 4120,
    "totalActiveClaims": 3905,
    "totalRemovedClaims": 130,
    "totalRevokedClaims": 85
  },
  "links": {
    "self": "/v2/system/stats/claim-stat-snapshots/current"
  }
}
FieldTypeDescription
totalIssuedClaimsnumberClaims ever issued.
totalActiveClaimsnumberClaims currently active.
totalRemovedClaimsnumberClaims that have been removed.
totalRevokedClaimsnumberClaims that have been revoked.

GET /api/v2/system/stats/claim-stat-ranges and its preset variant return the same four counters over time. Each point captures the issued, active, removed, and revoked totals as they stood at that timestamp, so you can chart how the claim base shifts across the window.

{
  "data": {
    "range": {
      "interval": "day",
      "from": "2026-06-14T00:00:00.000Z",
      "to": "2026-06-21T00:00:00.000Z",
      "isPreset": true
    },
    "data": [
      {
        "timestamp": "2026-06-21T00:00:00.000Z",
        "totalIssuedClaims": 4120,
        "totalActiveClaims": 3905,
        "totalRemovedClaims": 130,
        "totalRevokedClaims": 85
      }
    ]
  },
  "links": {
    "self": "/v2/system/stats/claim-stat-range-presets/trailing7Days"
  }
}

Each point in data carries a timestamp and the four claim counters described above.

Trusted-issuer statistics

A trusted issuer is an authority the registry permits to sign claims for one or more topics. GET /api/v2/system/stats/trusted-issuer-stat-snapshots/current returns how many such issuers have been added, how many remain active, and how many have been removed.

{
  "data": {
    "totalAddedTrustedIssuers": 14,
    "totalActiveTrustedIssuers": 12,
    "totalRemovedTrustedIssuers": 2
  },
  "links": {
    "self": "/v2/system/stats/trusted-issuer-stat-snapshots/current"
  }
}
FieldTypeDescription
totalAddedTrustedIssuersnumberTrusted issuers ever added.
totalActiveTrustedIssuersnumberTrusted issuers currently active.
totalRemovedTrustedIssuersnumberTrusted issuers that have been removed.

GET /api/v2/system/stats/trusted-issuer-stat-ranges and its preset variant return the same three counters over time, with each point carrying a timestamp.

Topic-scheme statistics and coverage

A topic scheme defines a claim topic in the registry. GET /api/v2/system/stats/topic-scheme-stat-snapshots/current returns the registered, active, and removed scheme counts.

{
  "data": {
    "totalRegisteredTopicSchemes": 9,
    "totalActiveTopicSchemes": 8,
    "totalRemovedTopicSchemes": 1
  },
  "links": {
    "self": "/v2/system/stats/topic-scheme-stat-snapshots/current"
  }
}
FieldTypeDescription
totalRegisteredTopicSchemesnumberTopic schemes ever registered.
totalActiveTopicSchemesnumberTopic schemes currently active.
totalRemovedTopicSchemesnumberTopic schemes that have been removed.

GET /api/v2/system/stats/topic-scheme-stat-ranges and its preset variant return the same three counters over time, with each point carrying a timestamp.

GET /api/v2/system/stats/topic-scheme-claims-coverage answers a sharper question: which active topic schemes hold no active claims. A scheme appears in missingTopics in two cases. The scheme has never had a claim issued, or every claim it once held has since been removed or revoked. Use this response to find verification topics that the organization defines but does not yet cover.

Because the underlying projection counts active claims by chain and topic ID, not by registry address, a topic scheme can be omitted from missingTopics when another registry on the same chain holds an active claim for the same topic. In environments with multiple registries that reuse topic IDs, a compliance dashboard should supplement this endpoint with registry-scoped checks rather than relying on it alone.

{
  "data": {
    "totalActiveTopicSchemes": 8,
    "missingTopics": [
      {
        "id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
        "topicId": "100",
        "name": "Accredited Investor",
        "signature": "(string)",
        "isGlobal": false
      }
    ]
  },
  "links": {
    "self": "/v2/system/stats/topic-scheme-claims-coverage"
  }
}
FieldTypeDescription
totalActiveTopicSchemesnumberActive topic schemes in the registry. Use it to compute a coverage percentage.
missingTopicsarrayActive topic schemes with zero active claims.
missingTopics[].idstringThe scheme identifier (bytes32).
missingTopics[].topicIdstringThe numeric topic ID as a string.
missingTopics[].namestringThe human-readable topic name, such as Know Your Customer.
missingTopics[].signaturestringThe claim data ABI types used for verification, such as (string).
missingTopics[].isGlobalbooleanWhether the scheme comes from a parent (global) registry rather than the system one.

Asset distribution by country

GET /api/v2/system/stats/country-asset-count reports how indexed assets are distributed across issuer countries. Each key in totalsByCountry is an ISO 3166-1 numeric country code as a string.

{
  "data": {
    "totalsByCountry": {
      "056": 12,
      "528": 7,
      "840": 3
    },
    "totalCountries": 3,
    "totalAssets": 22
  },
  "links": {
    "self": "/v2/system/stats/country-asset-count"
  }
}
FieldTypeDescription
totalsByCountryobjectAsset count keyed by ISO 3166-1 numeric country code.
totalCountriesnumberDistinct issuer countries represented.
totalAssetsnumberTotal assets counted across all countries.

Use these endpoints to

  • Report current registered, active, and pending identity counts on a compliance dashboard.
  • Track active claims against issued, removed, and revoked claims over a trailing window.
  • Confirm which trusted issuers remain authorized as the registry changes.
  • Surface verification topics that hold no active claims, so coverage gaps get attention.
  • Break down asset issuance by country for regulatory reporting.

For the conventions every read endpoint shares, see Organization and system scope. For value and transfer activity across the same organization, see System value and transaction stats.

On this page