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 can be authorized to convert into one or more target tokens. DALP exposes that authorization as a pair of read endpoints. Together they answer two questions for any token: which target tokens it can convert into, and which source tokens can convert into it.

Use this reference to confirm a conversion route before initiating a conversion, or to reconcile the convertible side of an instrument with its target side. Both endpoints are read-only. They report indexed authorization state and never create, change, or revoke a route.

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.

List target tokens (converts-to)

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)

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 routes.
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 does not infer routes from another token or tenant.
  • A revoked route is still returned, 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.
  • Results are scoped to the tokens your organization can see. A token outside that scope returns an empty paginated response rather than an error.

SDK and CLI

The same reads are available through the SDK and CLI.

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