latestOpenAPI 3.0.32026-08-20146131.7 MB

672b1916ba61

Issuance

Update token

Updates stored token fields. For deployed tokens, metadata fields are also written on-chain through the current metadata authority.

patch/v1/issuance/tokens/{tokenId}

Path parameters

tokenIdstring required

Token identifier.

Example:tok_example

Token identifier.

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

Updated token name. For deployed tokens, this updates on-chain Token-2022 metadata using the current metadata authority.

symbolstring
decimalsinteger
descriptionstring nullable

Updated token description. For deployed tokens, this writes the on-chain description metadata field. Use null to clear the displayed value.

uristring uri nullable

Updated metadata URI. For deployed tokens, this updates the on-chain Token-2022 metadata URI using the current metadata authority. Use null to clear.

imageUrlstring uri nullable

Updated image URL. For deployed tokens, this writes the on-chain image metadata field. Use null to clear the displayed value.

status'active' | 'paused'

Token operational status.

requiresAllowlistboolean

Whether transfers are restricted to allowlisted accounts. Only accepted while the token is undeployed (pending, no mint address); returns 400 after deployment.

maxSupplystring nullable

Updated maximum supply as a string (UI units); null removes the cap. Enforced by SDP at mint time while it holds the mint authority, so it is rejected with 400 once the supply is locked on-chain (mint authority revoked), and cannot be set below the already-minted supply.

Example request

{
  "name": "Example Token Updated",
  "description": "Updated token description.",
  "uri": "https://example.com/metadata.json",
  "imageUrl": "https://example.com/token.png",
  "status": "active",
  "requiresAllowlist": true,
  "maxSupply": "1000000"
}

Response

Token updated

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"
  }
}