---
title: "Create token"
method: POST
path: "/v1/issuance/tokens"
tags: ["Issuance"]
---

# Create token

`POST /v1/issuance/tokens`

Creates a token record that can later be deployed to Solana.

## Headers

- `x-project-id` string — Selects the active project for this request. Required for session/dashboard callers. Ignored when authenticating with an API key, whose scope is fixed to the key's project.

## Request body

- object — Create token request body.
  - `name` string, required — Token name.
  - `symbol` string, required — Ticker symbol.
  - `signingWalletId` string — Preferred signer wallet for token deploy/admin/write actions — the `walletId` field returned by GET /v1/wallets. The wallet record `id` and the public key are not accepted.
  - `decimals` integer — Token decimals.
  - `description` string — Token description.
  - `uri` string, uri — Metadata URI passed to on-chain token metadata (points to off-chain JSON).
  - `imageUrl` string, uri — Token image URL.
  - `maxSupply` string — Maximum supply as a string (UI units).
  - `template` 'stablecoin' | 'arcade' | 'tokenized-security' | 'custom' — Token template preset. Defaults to 'custom' if not specified.
  - `overrides` object — Template overrides to customize defaults.
    - `extensions` object — Override template extension configuration.
      - `transferFee` union — Transfer fee configuration or false to disable.
        - false
        - object
          - `basisPoints` integer, required — Transfer fee in basis points.
          - `maxFee` string, required — Maximum fee in UI units.
          - `transferFeeConfigAuthority` string — Authority to configure transfer fees. Defaults to platform authority.
          - `withdrawWithheldAuthority` string — Authority to withdraw withheld fees. Defaults to platform authority.
      - `interestBearing` union — Interest-bearing configuration or false to disable.
        - false
        - object
          - `rate` number, required — Interest rate in percent.
          - `rateAuthority` string — Authority that can update the rate. Defaults to platform authority.
      - `permanentDelegate` union — Permanent delegate authority address, or false to disable.
        - false
        - string
      - `pausable` union — Pausable configuration or false to disable.
        - false
        - object
          - `authority` string — Authority that can pause/resume transfers. Defaults to platform authority.
      - `nonTransferable` boolean — Enable/disable non-transferable.
      - `defaultAccountState` 'initialized' | 'frozen' — Override default account state.
      - `scaledUiAmount` union — Scaled UI amount configuration or false to disable.
        - false
        - object
          - `authority` string — Authority that can update scaled UI parameters. Defaults to platform authority.
          - `multiplier` number, required — Current UI multiplier.
          - `newMultiplier` number — Scheduled multiplier.
          - `newMultiplierEffectiveTimestamp` integer — Unix timestamp (seconds) when the new multiplier takes effect.
      - `transferHook` union — Transfer hook configuration or false to disable.
        - false
        - object
          - `programId` string, required — Transfer hook program id.
          - `authority` string — Authority that can update the hook program. Defaults to platform authority.
    - `requiresAllowlist` boolean — Override allowlist requirement (if template allows).
  - `requiresAllowlist` boolean — Require allowlist checks for transfers.
  - `isMintable` boolean — Allow minting after creation.
  - `isFreezable` boolean — Allow freezing token accounts.

## Response `201`

Token created

- object — Standard success response envelope.
  - `data` object, required — Token response payload.
    - `token` object, required — Token details.
      - `id` string, required — Token identifier.
      - `projectId` string, required — Project identifier.
      - `organizationId` string, required — Organization identifier.
      - `signingWalletId` string, nullable, required — Preferred signer wallet for token deploy/admin/write actions.
      - `mintAddress` string, nullable, required — Mint address once deployed.
      - `mintAuthority` string, nullable, required — Mint authority address, if set.
      - `freezeAuthority` string, nullable, required — Freeze authority address, if set.
      - `ablListAddress` string, nullable, required — On-chain allowlist/blocklist address, if enabled.
      - `name` string, required — Token name.
      - `symbol` string, required — Token symbol.
      - `decimals` integer, required — Token decimals.
      - `description` string, nullable, required — Token description.
      - `uri` string, nullable, required — Metadata URI passed to on-chain token metadata (points to off-chain JSON).
      - `imageUrl` string, nullable, required — Token image URL.
      - `template` 'stablecoin' | 'arcade' | 'tokenized-security' | 'custom' | 'rwa', required — Token template identifier.
      - `extensions` object, nullable, required — Token-2022 extensions configuration.
        - `transferFee` object — Transfer fee configuration.
          - `basisPoints` integer, required — Transfer fee in basis points (0-10000).
          - `maxFee` string, required — Maximum fee in UI units.
          - `transferFeeConfigAuthority` string, required — Authority to configure transfer fees.
          - `withdrawWithheldAuthority` string, required — Authority to withdraw withheld fees.
        - `interestBearing` object — Interest-bearing configuration.
          - `rate` number, required — Interest rate in percent.
          - `rateAuthority` string, required — Authority that can update the rate.
        - `permanentDelegate` string — Permanent delegate address.
        - `pausable` object — Pausable configuration.
          - `authority` string — Authority that can pause/resume transfers.
        - `nonTransferable` boolean — Mark token as non-transferable.
        - `defaultAccountState` 'initialized' | 'frozen' — Default account state.
        - `scaledUiAmount` object — Scaled UI amount configuration.
          - `authority` string — Authority that can update scaled UI parameters.
          - `multiplier` number, required — Current UI multiplier.
          - `newMultiplier` number, required — Scheduled multiplier.
          - `newMultiplierEffectiveTimestamp` integer, required — Unix timestamp (seconds) when the new multiplier takes effect.
        - `transferHook` object — Transfer hook configuration.
          - `programId` string, required — Transfer hook program id.
          - `authority` string — Authority that can update the transfer hook program.
      - `totalSupply` string, required — Cached total supply in UI units (stored to avoid frequent RPC reads). Use POST /v1/issuance/tokens/{tokenId}/supply/refresh to force an on-chain refresh.
      - `totalSupplyUpdatedAt` string, date-time, nullable, required — Timestamp when supply was last refreshed.
      - `maxSupply` string, nullable, required — Maximum supply in UI units, if capped.
      - `isMintable` boolean, required — Whether additional minting is allowed.
      - `isFreezable` boolean, required — Whether freeze authority is enabled.
      - `requiresAllowlist` boolean, required — Whether transfers require allowlist approval.
      - `status` 'pending' | 'active' | 'paused' | 'revoked', required — Token lifecycle status.
      - `deployedAt` string, date-time, nullable, required — Deployment timestamp, if deployed.
      - `createdBy` string, required — Actor identifier that created the token.
      - `createdAt` string, date-time, required — Creation timestamp.
      - `updatedAt` string, date-time, required — Last update timestamp.
  - `meta` object, required — Response metadata.
    - `requestId` string, required — Request identifier for tracing.
    - `timestamp` string, date-time, required — ISO 8601 timestamp.

## Other responses

- `400` — Error
- `401` — Error
- `403` — Error
- `500` — Error

---

[API](https://skmtc.net/solana/apis/solana-developer-platform-api.md) · [All operations](https://skmtc.net/solana/apis/solana-developer-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/solana/solana-developer-platform-api/revisions/672b1916ba61/schema)
