SettleMint
Tokens

Token conversion authorizations

Read which target tokens a DALP token can convert into, and which source tokens can convert into it, through two paginated conversion authorization endpoints.

A convertible DALP token carries authorization to convert into one or more target tokens. Before initiating a conversion, confirm the route exists. After settlement, reconcile the convertible side of an instrument with its target side. Two read-only endpoints serve both needs: converts-to and converted-from report indexed authorization state and never create, change, or revoke a route.

Call these endpoints whenever you need to verify that a conversion path is authorized, or to audit the full set of directed links for a given token.

Two directions of the same authorization

A conversion authorization is a directed link between a source token and a target token. The two endpoints read the same authorization from opposite ends:

EndpointDirectionReturns
GET /api/v2/tokens/{tokenAddress}/conversion/converts-toForwardTarget tokens this token is authorized to convert into.
GET /api/v2/tokens/{tokenAddress}/conversion/converted-fromReverseSource tokens authorized to convert into this token.

Call converts-to with the source token in the path to list its targets. Call converted-from with the target token in the path to list its sources. Both responses use the standard DALP paginated list shape, so you can page through results without changing client code.

List target tokens (converts-to)

Supply the source token address in the path. The response lists every token this source is authorized to convert into, sorted newest-authorized first.

curl --globoff "$DAPI_URL/api/v2/tokens/0x1111111111111111111111111111111111111111/conversion/converts-to?page[limit]=50&sort=-authorizedAt" \
  -H "X-Api-Key: $DALP_API_TOKEN"
{
  "data": [
    {
      "targetTokenAddress": "0x2222222222222222222222222222222222222222",
      "conversionFeatureAddress": "0x3333333333333333333333333333333333333333",
      "minterFeatureAddress": "0x4444444444444444444444444444444444444444",
      "isAuthorized": true,
      "authorizedAt": "2026-06-06T12:00:00.000Z",
      "revokedAt": null,
      "updatedAt": "2026-06-06T12:00:00.000Z"
    }
  ],
  "meta": {
    "total": 1,
    "facets": {}
  },
  "links": {
    "self": "/v2/tokens/0x1111111111111111111111111111111111111111/conversion/converts-to?sort=-authorizedAt&page%5Boffset%5D=0&page%5Blimit%5D=50"
  }
}

List source tokens (converted-from)

Supply the target token address in the path. The response lists every source token authorized to convert into this target, again sorted newest-authorized first.

curl --globoff "$DAPI_URL/api/v2/tokens/0x2222222222222222222222222222222222222222/conversion/converted-from?page[limit]=50&sort=-authorizedAt" \
  -H "X-Api-Key: $DALP_API_TOKEN"
{
  "data": [
    {
      "sourceTokenAddress": "0x1111111111111111111111111111111111111111",
      "conversionFeatureAddress": "0x3333333333333333333333333333333333333333",
      "minterFeatureAddress": "0x4444444444444444444444444444444444444444",
      "isAuthorized": true,
      "authorizedAt": "2026-06-06T12:00:00.000Z",
      "revokedAt": null,
      "updatedAt": "2026-06-06T12:00:00.000Z"
    }
  ],
  "meta": {
    "total": 1,
    "facets": {}
  },
  "links": {
    "self": "/v2/tokens/0x2222222222222222222222222222222222222222/conversion/converted-from?sort=-authorizedAt&page%5Boffset%5D=0&page%5Blimit%5D=50"
  }
}

Fields

The two endpoints return the same edge fields. They differ only in which token address is the counterparty: converts-to returns targetTokenAddress, and converted-from returns sourceTokenAddress.

FieldMeaning
targetTokenAddress (converts-to)The token this token is authorized to convert into.
sourceTokenAddress (converted-from)The token authorized to convert into this token.
conversionFeatureAddressAddress of the conversion feature on the source side of the route. null until DALP has indexed it.
minterFeatureAddressAddress of the minter feature on the target side of the route, used to issue the converted tokens. null until indexed.
isAuthorizedtrue while the conversion route is active, false once it has been revoked.
authorizedAtWhen the route was authorized.
revokedAtWhen the route was revoked, or null while it remains authorized.
updatedAtWhen the indexed edge last changed.

Query controls

Both endpoints use the standard JSON:API query pattern for pagination, sorting, filtering, and facets.

ControlSupported fieldsNotes
SortauthorizedAtThe default sort is newest authorizedAt first. DALP uses the counterparty token address as a stable tie-breaker.
FilterisAuthorized, authorizedAtFilter on isAuthorized to list only active routes or only revoked ones.
FacetsisAuthorizedUse the facet to count active and revoked routes without a second request.
Paginationpage[limit], page[offset]The default page size is 50, with a maximum of 200. Page through results instead of assuming every route fits in one response.

These endpoints do not support global text search.

Behaviour

A token with no authorized or revoked conversion routes returns an empty data array with total set to 0. The endpoint returns only routes scoped to your organization; tokens outside that scope produce an empty paginated response rather than an error. A revoked route stays in the results with isAuthorized set to false and revokedAt populated. Filter on isAuthorized when you want only the active routes.

The endpoints read indexed authorization state. The read does not make a live contract call, authorize a new route, revoke a route, or execute a conversion.

SDK and CLI

The SDK and CLI expose the same reads. Use convertsTo to list targets for a source token and convertedFrom to list sources for a target token. Both calls accept the same filter and pagination options as the HTTP endpoints.

const targets = await client.token.convertsTo({
  params: { tokenAddress: "0x1111111111111111111111111111111111111111" },
  query: { filter: { isAuthorized: true } },
});

const sources = await client.token.convertedFrom({
  params: { tokenAddress: "0x2222222222222222222222222222222222222222" },
  query: { filter: { isAuthorized: true } },
});
dalp tokens converts-to 0x1111111111111111111111111111111111111111
dalp tokens converted-from 0x2222222222222222222222222222222222222222

On this page