SettleMint
Reference

Feature inventory API for token-feature rollups

Read the active system's per-feature attachment rollup through the DALP Platform API. See which token-feature capabilities are live, how many tokens carry each, and when each was last attached.

A feature inventory answers one question an operator or auditor asks across a whole asset estate: which token-feature capabilities are live right now, and how widely. Each token in a system can carry features such as a transaction fee, a maturity redemption, or fixed treasury yield. Counting that by hand across many tokens is slow and error-prone. This endpoint returns the rollup directly, so you read one row per feature type, with the number of distinct tokens carrying it and the most recent time it was attached.

The surface is read-only. It reports what is already attached on chain and indexed. It does not attach features or change any token.

Endpoint

EndpointUse it for
GET /api/v2/system/feature-inventoryList the active system's per-feature attachment rollup, one row per feature type.

The response uses the collection envelope with data, meta, and pagination links. The active organisation and system context bound the read, as described in Organization and system scope. The rollup covers the active system only.

Response fields

Each row describes one token-feature type and how it is used across the system.

FieldTypeDescription
featureTypeIdstringThe canonical token-feature type identifier, such as transaction-fee or fixed-treasury-yield.
attachedTokenCountnumberThe number of distinct tokens in the active system that currently carry a live attachment of this feature.
latestAttachedAtstring or nullThe timestamp of the most recent live attachment across all tokens, or null when the feature has never been attached in this system.

featureTypeId matches the identifier used for each capability in the Token features reference. Use that section to read what a given feature does before you act on its count.

Feature types

The inventory reports these feature types. A feature appears in the response only when at least one token in the system carries it, so a feature with no attachments is absent rather than returned with a zero count.

Feature typeCapability
aum-feeAssets-under-management fee accrual.
transaction-feePer-transfer fee collection.
transaction-fee-accountingAccounting records for collected transfer fees.
external-transaction-feeTransfer fees routed to an external collector.
maturity-redemptionRedemption of a token at maturity.
conversionConversion of one token into another.
conversion-minterMinting tied to a conversion.
fixed-treasury-yieldScheduled fixed yield paid from a treasury.
historical-balancesSnapshotted balances for point-in-time reads.
voting-powerGovernance voting weight derived from balances.
metadataOn-chain metadata extension.
permitSignature-based approvals.

List the feature inventory

GET /api/v2/system/feature-inventory returns the rollup ordered by the most recent attachment first.

The endpoint supports pagination, sorting, filtering, faceted counts, and global search. The default sort is latestAttachedAt descending, so the features attached most recently appear first. A feature that has never been attached sorts last because its latestAttachedAt is null.

curl --globoff "https://your-platform.example.com/api/v2/system/feature-inventory?sort=-latestAttachedAt&page[limit]=50&page[offset]=0" \
  -H "x-api-key: YOUR_API_KEY"
{
  "data": [
    {
      "featureTypeId": "transaction-fee",
      "attachedTokenCount": 3,
      "latestAttachedAt": "2026-05-22T11:23:45.000Z"
    },
    {
      "featureTypeId": "aum-fee",
      "attachedTokenCount": 1,
      "latestAttachedAt": "2026-05-18T08:02:10.000Z"
    }
  ],
  "meta": {
    "total": 2,
    "facets": {
      "featureTypeId": [
        { "value": "transaction-fee", "count": 1 },
        { "value": "aum-fee", "count": 1 }
      ]
    }
  },
  "links": {
    "self": "/v2/system/feature-inventory?sort=-latestAttachedAt&page[limit]=50&page[offset]=0",
    "first": "/v2/system/feature-inventory?sort=-latestAttachedAt&page[limit]=50&page[offset]=0",
    "prev": null,
    "next": null,
    "last": "/v2/system/feature-inventory?sort=-latestAttachedAt&page[limit]=50&page[offset]=0"
  }
}

Filtering and sorting

FieldFilterSortNotes
featureTypeIdfilter[featureTypeId]=transaction-feeNoExact match on a feature type. Faceted, so meta.facets reports the per-type breakdown of the current result set.
attachedTokenCountfilter[attachedTokenCount][gte]=1YesNumeric. Filter to features above a threshold, or sort by adoption.
latestAttachedAtfilter[latestAttachedAt][gte]=...YesDate. Filter by attachment time, or sort by recency. Use ISO 8601 UTC timestamps.

Global search with filter[q] matches against the feature type identifier. Sort with sort=<field> for ascending order, or sort=-<field> for descending. Page with page[offset] and page[limit]; the default page size is 50 and the maximum is 200.

Sort by attachedTokenCount descending to rank features by adoption across the estate. Filter attachedTokenCount with gte to list only features that are actually in use.

Errors

StatusErrorWhen it happens
404SYSTEM_NOT_DEPLOYEDThe active organisation has no indexed system deployment, so there is nothing to roll up. Deploy a system, wait for indexing, then retry.

When to use it

Use this endpoint when you need to:

  • Audit which token-feature capabilities are live across the whole system in one call, rather than inspecting tokens one at a time.
  • Rank features by adoption, by sorting on attachedTokenCount.
  • Spot recently introduced capabilities, by reading latestAttachedAt or sorting by recency.
  • Build an operator dashboard that shows feature coverage across the asset estate.

To read what each feature does, see Token features. To understand how the active organisation and system bound every read, see Organization and system scope.

On this page