latestOpenAPI 3.0.32026-08-20146131.7 MB

672b1916ba61

Issuance

Create token

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

post/v1/issuance/tokens

Headers

x-project-idstring

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.

Example:prj_example

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

namestring required

Token name.

symbolstring required

Ticker symbol.

signingWalletIdstring

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.

decimalsinteger

Token decimals.

descriptionstring

Token description.

uristring uri

Metadata URI passed to on-chain token metadata (points to off-chain JSON).

imageUrlstring uri

Token image URL.

maxSupplystring

Maximum supply as a string (UI units).

template'stablecoin' | 'arcade' | 'tokenized-security' | 'custom'

Token template preset. Defaults to 'custom' if not specified.

requiresAllowlistboolean

Require allowlist checks for transfers.

isMintableboolean

Allow minting after creation.

isFreezableboolean

Allow freezing token accounts.

Example request

{
  "name": "Example Token",
  "symbol": "EXM",
  "signingWalletId": "privy_wallet_123",
  "decimals": 6,
  "description": "Example token description.",
  "uri": "https://example.com/metadata.json",
  "imageUrl": "https://example.com/token.png",
  "maxSupply": "1000000",
  "template": "stablecoin",
  "overrides": {
    "extensions": {
      "transferFee": {
        "basisPoints": 50,
        "maxFee": "0.5"
      }
    }
  },
  "requiresAllowlist": true,
  "isMintable": true,
  "isFreezable": true
}

Response

Token created

Example response

{
  "data": {
    "token": {
      "id": "tok_example",
      "projectId": "prj_example",
      "organizationId": "org_example",
      "signingWalletId": "privy_wallet_123",
      "mintAddress": "So11111111111111111111111111111111111111112",
      "mintAuthority": "So11111111111111111111111111111111111111112",
      "freezeAuthority": "So11111111111111111111111111111111111111112",
      "ablListAddress": "So11111111111111111111111111111111111111112",
      "name": "Example Token",
      "symbol": "EXM",
      "decimals": 9,
      "description": "Example token description.",
      "uri": "https://example.com/metadata.json",
      "imageUrl": "https://example.com/token.png",
      "template": "stablecoin",
      "extensions": {
        "transferFee": {
          "basisPoints": 25,
          "maxFee": "0.5",
          "transferFeeConfigAuthority": "So11111111111111111111111111111111111111112",
          "withdrawWithheldAuthority": "So11111111111111111111111111111111111111112"
        },
        "interestBearing": {
          "rate": 2.5,
          "rateAuthority": "So11111111111111111111111111111111111111112"
        },
        "permanentDelegate": "So11111111111111111111111111111111111111112",
        "pausable": {
          "authority": "So11111111111111111111111111111111111111112"
        },
        "defaultAccountState": "initialized",
        "scaledUiAmount": {
          "authority": "So11111111111111111111111111111111111111112",
          "multiplier": 1,
          "newMultiplier": 2,
          "newMultiplierEffectiveTimestamp": 1735689600
        },
        "transferHook": {
          "programId": "So11111111111111111111111111111111111111112",
          "authority": "So11111111111111111111111111111111111111112"
        }
      },
      "totalSupply": "1000000",
      "maxSupply": "10000000",
      "isMintable": true,
      "isFreezable": true,
      "status": "active",
      "deployedAt": "2025-01-05T00:00:00.000Z",
      "createdBy": "key_example",
      "createdAt": "2025-01-01T00:00:00.000Z",
      "updatedAt": "2025-01-02T00:00:00.000Z"
    }
  },
  "meta": {
    "requestId": "req_example",
    "timestamp": "2025-01-01T00:00:00.000Z"
  }
}