# Token features API

Source: https://docs.settlemint.com/docs/developers/api-integration/token-features
Reference index for the eleven DALP token features and the dapi endpoints that configure and operate them during asset creation and servicing.



DALP exposes eleven token features that instrument templates attach to a new asset. Configuring a feature during deployment happens through the standard token-creation route in `kit/dapi/src/routes/token/`. Operating a feature after deployment uses feature-specific endpoints or the asset-detail endpoints under the same route group.

This section is the developer reference for those endpoints. Operator how-tos for the same features live under [operators/token-features](/docs/operators/token-features). The architecture model for each feature lives under [architects/components/token-features](/docs/architects/components/token-features).

## Feature catalog [#feature-catalog]

| Feature                                                                                                  | Configurable parameters                                                                                                                            | Architecture                                                                          | Operator how-to                                                     |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| [historical-balances](/docs/developers/api-integration/token-features/historical-balances)               | None                                                                                                                                               | [Architecture](/docs/architects/components/token-features/historical-balances)        | [How-to](/docs/operators/token-features/historical-balances)        |
| [maturity-redemption](/docs/developers/api-integration/token-features/maturity-redemption)               | maturityDate, denominationAsset, treasury, faceValue                                                                                               | [Architecture](/docs/architects/components/token-features/maturity-redemption)        | [How-to](/docs/operators/token-features/maturity-redemption)        |
| [fixed-treasury-yield](/docs/developers/api-integration/token-features/fixed-treasury-yield)             | rate, interval, treasury, denominationAsset                                                                                                        | [Architecture](/docs/architects/components/token-features/fixed-treasury-yield)       | [How-to](/docs/operators/token-features/fixed-treasury-yield)       |
| [voting-power](/docs/developers/api-integration/token-features/voting-power)                             | None                                                                                                                                               | [Architecture](/docs/architects/components/token-features/voting-power)               | [How-to](/docs/operators/token-features/voting-power)               |
| [aum-fee](/docs/developers/api-integration/token-features/aum-fee)                                       | feeBps, recipient                                                                                                                                  | [Architecture](/docs/architects/components/token-features/aum-fee)                    | [How-to](/docs/operators/token-features/aum-fee)                    |
| [transaction-fee](/docs/developers/api-integration/token-features/transaction-fee)                       | mintFeeBps, burnFeeBps, transferFeeBps, recipient                                                                                                  | [Architecture](/docs/architects/components/token-features/transaction-fee)            | [How-to](/docs/operators/token-features/transaction-fee)            |
| [transaction-fee-accounting](/docs/developers/api-integration/token-features/transaction-fee-accounting) | mintFeeBps, burnFeeBps, transferFeeBps, recipient                                                                                                  | [Architecture](/docs/architects/components/token-features/transaction-fee-accounting) | [How-to](/docs/operators/token-features/transaction-fee-accounting) |
| [external-transaction-fee](/docs/developers/api-integration/token-features/external-transaction-fee)     | feeToken, mintFeeAmount, burnFeeAmount, transferFeeAmount, recipient                                                                               | [Architecture](/docs/architects/components/token-features/external-transaction-fee)   | [How-to](/docs/operators/token-features/external-transaction-fee)   |
| [conversion](/docs/developers/api-integration/token-features/conversion)                                 | targetToken, conversionMinter, denominationAsset, discountBps, capPricePerShareWad, conversionWindowStart/End, minConversionAmount, partialAllowed | [Architecture](/docs/architects/components/token-features/conversion)                 | [How-to](/docs/operators/token-features/conversion)                 |
| [conversion-minter](/docs/developers/api-integration/token-features/conversion-minter)                   | None (companion to conversion)                                                                                                                     | [Architecture](/docs/architects/components/token-features/conversion)                 | [How-to](/docs/operators/token-features/conversion-minter)          |
| [permit](/docs/developers/api-integration/token-features/permit)                                         | None                                                                                                                                               | [Architecture](/docs/architects/components/token-features/permit)                     | [How-to](/docs/operators/token-features/permit)                     |

## How features attach via the API [#how-features-attach-via-the-api]

The token-creation route accepts a `templateId` and an optional `featureConfigs` map. The route reads the template's `requiredFeatures`, applies the template defaults, overlays any operator-supplied configurations, validates dependency and incompatibility rules per [feature constraints](/docs/architects/components/token-features/feature-constraints), and submits the resulting feature set during deployment.

```
POST /api/v2/token
Content-Type: application/json
Prefer: respond-async
{
  "templateId": "system-bond",
  "name": "Acme Corporate Bond 2025",
  "symbol": "ACME25",
  "decimals": 18,
  "featureConfigs": {
    "fixed-treasury-yield": {
      "rate": 500,
      "interval": "DAILY",
      "treasury": "0x...",
      "denominationAsset": "0x..."
    },
    "maturity-redemption": {
      "maturityDate": "2027-12-31",
      "denominationAsset": "0x...",
      "treasury": "0x...",
      "faceValue": "1000.00"
    }
  }
}
```

The response is the standard async blockchain-mutation envelope. See [Token lifecycle](/docs/developers/api-integration/tokens/token-lifecycle) for the full token-creation contract.

## Reading feature state [#reading-feature-state]

Feature state reads through the token-detail endpoints:

| Endpoint                                              | Returns                                                                                          |
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
| `GET /api/v2/token/{address}`                         | Token record including attached features and their current parameter values.                     |
| `GET /api/v2/token/{address}/features`                | List of attached features and their configuration.                                               |
| Feature-specific endpoints documented per page below. | Feature-specific state and operations (e.g., accrued yield, AUM-fee accrual, conversion window). |

## Updating feature parameters [#updating-feature-parameters]

Restricted-mutable parameters update through the governance-update path. Most feature pages document the specific endpoint (typically `PUT /api/v2/token/{address}/features/{featureId}` with the parameter delta). Updates land as async blockchain mutations.

## Read next [#read-next]

* [Token lifecycle](/docs/developers/api-integration/tokens/token-lifecycle) for the full token-creation contract.
* [Feature constraints](/docs/architects/components/token-features/feature-constraints) for the dependency and incompatibility rules.
* [System templates catalog](/docs/operators/asset-creation/system-templates) for the template-to-feature mapping.
