---
title: Tokenize an Asset
description: Map a real-world asset to the right SDP token model, authorities, and implementation flow.
---

Use this page when you want to issue a stablecoin, tokenized security, loyalty token, or any other asset through Solana Developer Platform. It walks you from business decision to the first API call.

## Choose a token model

Pick the template that matches your asset's compliance and operational requirements:

| Asset model | Template | Typical controls |
| --- | --- | --- |
| Fiat-backed stablecoin | `stablecoin` | Mint authority, freeze authority, pausable, permanent delegate |
| Tokenized security or RWA | `tokenized-security` | Allowlist required, freeze authority, pausable, permanent delegate |
| Loyalty, rewards, or utility token | `custom` | Manually selected extensions |
| Non-standard asset | `custom` | Manually selected extensions |

Use SDP-controlled custody wallets for your main authorities when you expect SDP execute flows to work without external signing.

## Implementation sequence

Each step links to its own guide with UI and API instructions:

1. [Set Up Your Organization](/docs/guides/setup-organization)
2. [Set Up Wallets](/docs/guides/setup-wallets)
3. [Manage API Keys](/docs/guides/manage-api-keys)
4. [Create a Token](/docs/tokens/create-a-token)
5. [Deploy a Token](/docs/tokens/deploy-a-token)
6. [Mint and Burn](/docs/tokens/mint-and-burn)
7. [Basic payment](/docs/payments/send-basic-payment) — transfer tokens between wallets
8. [Allowlists](/docs/tokens/allowlists) — required for `tokenized-security`
9. [Manage Token Settings](/docs/tokens/manage-token-settings) — freeze, pause, seize for compliance workflows

## Core API endpoints

| Method | Endpoint | Purpose |
| --- | --- | --- |
| `GET` | `/v1/issuance/templates` | List available token templates |
| `POST` | `/v1/issuance/tokens` | Create a token definition |
| `POST` | `/v1/issuance/tokens/{tokenId}/deploy` | Deploy to Solana |
| `POST` | `/v1/issuance/tokens/{tokenId}/mint` | Mint new supply |
| `POST` | `/v1/issuance/tokens/{tokenId}/burn` | Reduce supply |
| `POST` | `/v1/issuance/tokens/{tokenId}/allowlist` | Add an allowed address |
| `POST` | `/v1/issuance/tokens/{tokenId}/freeze` | Freeze an account |
| `POST` | `/v1/issuance/tokens/{tokenId}/pause` | Pause all transfers |
| `POST` | `/v1/payments/transfers` | Transfer tokens |

See the full schema in the [Issuance API reference](/docs/reference/api/issuance) and [Payments API reference](/docs/reference/api/payments).

## Operational constraints

- A token must be **created** before deployment, and **deployed** before minting or transfer.
- If the token is paused, minting and transfer operations are unavailable until it is unpaused.
- Freeze and unfreeze flows accept a holder wallet address; SDP derives the associated token account automatically.
- If a relevant authority is held outside SDP, prefer prepare flows or rotate the authority to a controlled wallet first.

## For AI agents

If you are driving SDP through an agent workflow, start from [AI Consumption](/docs/reference/ai-consumption). That page links the machine-readable SDP discovery files and keeps AI-facing guidance grounded in the supported public API surface.
