---
title: Issuance Token Types
description: How to choose a token template, and the default controls each one applies.
---

The public issuance surface currently exposes three token templates:

| Template | Defaults | Notes |
| --- | --- | --- |
| `stablecoin` | 6 decimals, permanent delegate + pausable extensions, default account state initialized | Intended for fiat-backed token patterns with compliance controls. |
| `tokenized-security` | 8 decimals, allowlist required, permanent delegate + pausable + scaled UI amount extensions, default account state frozen | Regulated asset flows with stronger defaults. |
| `custom` | 9 decimals default (up to 18 max), extension set is fully configurable | Use when your requirements do not match preset templates. |

These defaults are sourced from the API implementation in `apps/sdp-api/src/services/issuance/templates/definitions.ts`.

## Selecting a template

Each template is a vetted, fixed composition of Token-2022 extensions for a specific class of
asset, rather than an à-la-carte menu. The appropriate template is determined by the nature of
the instrument being issued. The `custom` template applies to assets that do not fit the
stablecoin or tokenized-security models.

### Stablecoin

Intended for tokens pegged to a fiat currency and redeemable at par (1:1). The template applies
the compliance controls typical of regulated fiat tokens: a **pausable** extension (transfers
can be frozen in an emergency) and a **permanent delegate** (tokens can be seized or clawed back
in response to a compliance event). A blocklist applies by default.

Stablecoins cannot pay interest or yield to holders. This reflects payment-stablecoin frameworks
such as the U.S. GENIUS Act and the EU's MiCA, which prohibit issuers from paying interest on the
token itself. Interest- or yield-bearing products are issued as tokenized securities (typically
funds) rather than stablecoins.

### Tokenized security

Intended for regulated instruments — equity, debt, or fund shares. The template applies the
stablecoin controls together with stronger defaults: an **allowlist is required**, new accounts
are **frozen by default** (holders must be approved before transacting), and the **scaled UI
amount** extension is added for corporate actions such as splits or share-class rebasing.
Interest- and yield-bearing instruments (for example debt or fund tokens) also fall under this
template.

### Custom

Corresponds to the **Non-Security Digital Asset** classification in the issuance interface —
assets that are neither fiat stablecoins nor regulated securities, such as commodities, real
estate, or collectibles. The template exposes the full Token-2022 extension set (transfer fees,
transfer hooks, non-transferable behaviour, interest, and others) and applies where the preset
templates do not match the instrument.

### Summary

| Instrument | Template |
| --- | --- |
| Pegged to a fiat currency, redeemable 1:1, with no yield | `stablecoin` |
| Regulated security (equity, debt, or fund), or an instrument that pays a return | `tokenized-security` |
| Any other asset, or one requiring extensions the presets do not offer | `custom` (Non-Security Digital Asset) |

<Callout type="warn">
Token-2022 extensions are set when the mint is created and cannot be changed afterward. The
template selection is therefore permanent for a given token; changing it requires issuing a new
token.
</Callout>

This page provides general guidance and is not legal advice; regulatory treatment depends on the
jurisdiction and on how the instrument is structured.

## Amount format

Mint, burn, seize, and force-burn request bodies accept `amount` as a **decimal string in UI units** — the human-readable token value (for example `"1"` or `"1.5"`). SDP converts to on-chain base units using the token's `decimals`. This differs from wallet balance responses, which return both raw `amount` and `uiAmount`.
