SettleMint
Tokens

Token supply statistics

Read indexed total supply and mint/burn history for a token through the DALP API.

Use these two endpoints to audit how a token's supply has moved over time. Total supply returns the running supply at each point in a trailing window. Supply changes returns how much was minted and burned in each period of that window. Both endpoints read indexed activity and never mint, burn, or change token state, so both are safe to call from reserve checks, audit jobs, and dashboards.

The endpoints answer two different questions. Read total supply when you need the outstanding amount at a point in time, for example to compare on-chain figures against a backing reserve. Read supply changes when you need the gross issuance and redemption behind that movement, for example to reconcile mint and burn instructions against ledger activity.

Endpoints

GET /api/v2/tokens/{tokenAddress}/stats/total-supply
GET /api/v2/tokens/{tokenAddress}/stats/supply-changes

Set tokenAddress to the EVM contract address of the token in the active DALP tenant and system scope. The optional days query parameter selects how many trailing days of indexed history to return, defaults to 30, and accepts values from 1 to 365.

Total supply history

This read returns the cumulative outstanding supply at each point in the window, ending with the token's current total supply.

curl "https://your-platform.example.com/api/v2/tokens/0x1111111111111111111111111111111111111111/stats/total-supply?days=30" \
  -H "X-Api-Key: sm_dalp_xxxxxxxxxxxxxxxx"
{
  "data": {
    "totalSupplyHistory": [
      {
        "timestamp": "2026-03-24T00:00:00.000Z",
        "totalSupply": "1000000"
      },
      {
        "timestamp": "2026-03-25T00:00:00.000Z",
        "totalSupply": "1025000"
      }
    ]
  },
  "links": {
    "self": "/v2/tokens/0x1111111111111111111111111111111111111111/stats/total-supply"
  }
}
FieldLocationTypeNotes
tokenAddressPathEVM addressToken contract address. The address must be visible to the active DALP tenant and system scope.
daysQuerynumberOptional trailing range in days. Defaults to 30. Minimum 1, maximum 365.
totalSupplyHistory[].timestampBodyUTC timestampPeriod timestamp serialized as an ISO 8601 date-time string, for example 2026-03-24T00:00:00.000Z.
totalSupplyHistory[].totalSupplyBodydecimal stringOutstanding supply at the end of that period, in display units that follow the token's decimals.

The series carries the supply forward across periods with no mint or burn, so the value reflects the running total rather than per-period movement. The final point in the series always reports the token's current total supply.

Supply changes history

This read returns how much was minted and burned in each period of the window. It does not accumulate. Each point is the gross movement for that period alone.

curl "https://your-platform.example.com/api/v2/tokens/0x1111111111111111111111111111111111111111/stats/supply-changes?days=30" \
  -H "X-Api-Key: sm_dalp_xxxxxxxxxxxxxxxx"
{
  "data": {
    "supplyChangesHistory": [
      {
        "timestamp": "2026-03-24T00:00:00.000Z",
        "totalMinted": "25000",
        "totalBurned": "0"
      },
      {
        "timestamp": "2026-03-25T00:00:00.000Z",
        "totalMinted": "0",
        "totalBurned": "5000"
      }
    ]
  },
  "links": {
    "self": "/v2/tokens/0x1111111111111111111111111111111111111111/stats/supply-changes"
  }
}
FieldLocationTypeNotes
tokenAddressPathEVM addressToken contract address. The address must be visible to the active DALP tenant and system scope.
daysQuerynumberOptional trailing range in days. Defaults to 30. Minimum 1, maximum 365.
supplyChangesHistory[].timestampBodyUTC timestampPeriod timestamp serialized as an ISO 8601 date-time string, for example 2026-03-24T00:00:00.000Z.
supplyChangesHistory[].totalMintedBodydecimal stringAmount minted during that period, in display units that follow the token's decimals.
supplyChangesHistory[].totalBurnedBodydecimal stringAmount burned during that period, in display units that follow the token's decimals.

For ranges of one or two days, DALP returns hourly points. For longer ranges, DALP returns daily points. The current incomplete hour or day is appended only when that period has non-zero mint or burn activity.

Reading the amount strings

Both endpoints return amounts as decimal strings in display units, so "1025000" means 1,025,000 tokens, not raw base units. The values are returned as text to preserve precision for large supplies. Parse them with a decimal-safe or bigint type rather than JavaScript Number, which loses precision past 2^53.

DALP converts the raw on-chain amount using the token's own decimal count from the index, and falls back to 18 decimals when the token is not yet indexed.

How the values are calculated

Both statistics are indexer-backed. DALP reads pre-aggregated daily supply data for the requested token and, for short ranges, raw indexed MintCompleted and BurnCompleted events at hourly granularity. Total supply is built as a running sum, so each point reflects the supply outstanding at that moment.

Ranges can include periods with no activity. Total supply carries the previous value forward; supply changes reports zero mint and zero burn. Keep those zero points in your charts and reconciliation jobs so the x-axis stays continuous.

Because the endpoints read indexed data, recently completed mints and burns appear after the relevant indexer has processed them. If a just-completed mint or burn is missing, retry after indexing catches up before treating the gap as a reconciliation failure.

Production handling

  • Authenticate the request with an API key that has access to the target tenant and system.
  • Use total supply for point-in-time outstanding amounts, such as comparing supply against a backing reserve.
  • Use supply changes for gross issuance and redemption per period, such as reconciling mint and burn instructions.
  • Treat both responses as indexed history, not a source for submitting or approving supply changes.
  • Preserve timestamps in UTC and amount strings as text until the final presentation layer.

On this page