solana

How to Create a Mintable SPL Token on Solana: No-Code, CLI & Mint Authority Guide

Learn how to create a mintable SPL token on Solana, mint supply, set metadata, avoid decimals mistakes, and manage mint authority with no-code, CLI, and TypeScript options.

December 16, 2025
How to Create a Mintable SPL Token on Solana: No-Code, CLI & Mint Authority Guide

How to Create a Mintable SPL Token on Solana: No-Code, CLI & Mint Authority Guide

A mintable SPL token is a Solana token whose mint authority is still active. That means new supply can be minted later for rewards, vesting, ecosystem incentives, treasury operations, or staged token launches.

That flexibility is useful, but it also creates a trust problem: if the mint authority is controlled by the wrong wallet, poorly secured, or never revoked, holders may worry that supply can be inflated later. Charming little nightmare, because apparently token launches needed more ways to go wrong.

This guide explains how to create a mintable Solana token using three practical paths:

  • No-code: fastest path with the DEXArea Solana Token Creator
  • CLI: direct spl-token workflow for developers
  • TypeScript: programmatic creation and minting with @solana/web3.js and @solana/spl-token
You will also learn how mint authority works, how decimals affect supply display, how to mint more tokens later, and when to revoke mint authority to make supply fixed.

Security note

A mintable token is not automatically unsafe, but it requires clear authority management. Test on Devnet first, keep authority wallets secure, and never revoke mint authority until you are certain no future minting is needed.

Create, Mint, and Secure Your Solana Token

TL;DR

  • A mint account represents the token itself: decimals, supply, mint authority, and freeze authority.
  • A token account / ATA holds a wallet's balance for a specific mint.
  • A token is mintable when its mint authority has not been revoked.
  • A token becomes fixed supply after mint authority is revoked.
  • For most token launches, create the token, mint the intended supply, set metadata, then decide whether to keep, transfer, or revoke authority.
  • If you do not want CLI commands, use the Solana Token Creator and sign the transaction from your wallet.

What is a mintable SPL token?

SPL tokens are Solana's standard token format. They are managed by Solana's Token Program or Token-2022 Program. A token's mint account stores the shared state for that token, including supply, decimals, mint authority, and optional freeze authority.

A token is called mintable when the mint authority is still present. That authority can sign a mint instruction later and increase total supply.

A token is called fixed supply when mint authority has been revoked. After that, new supply cannot be minted for that mint.

Mintable vs fixed-supply token

Token typeMint authority statusCan new tokens be minted?Common use case
Mintable tokenActiveYesRewards, emissions, vesting, staged launches
Fixed-supply tokenRevokedNoMeme coins, public launches, trust-focused tokens

Important

Mint authority controls supply. Metadata authority controls token metadata. Freeze authority controls whether token accounts can be frozen. These are different authorities, and confusing them is how people invent expensive mistakes for sport.


Option 1: Create a mintable SPL token with no code

The fastest way to create a mintable token is to use a wallet-based token creator. This is the better path if your goal is to launch a token, not spend your evening arguing with terminal flags like it owes you money.

Use the DEXArea Solana Token Creator if you want to create a token through a form-based interface while keeping the transaction non-custodial. Your wallet signs the transaction; DEXArea does not take custody of your private key.

Basic no-code flow

  1. Open the Solana Token Creator.
  2. Connect your Solana wallet.
  3. Choose the network: Devnet for testing or Mainnet for production.
  4. Enter token name, symbol, decimals, image, and metadata.
  5. Set the initial supply.
  6. Decide whether the token should remain mintable.
  7. Create the token and confirm the transaction in your wallet.
  8. Verify the mint address in a Solana explorer.

When to keep mint authority active

Keeping mint authority active can make sense if your project needs:

  • Future emissions
  • Staking or reward distribution
  • Vesting unlocks
  • Treasury-controlled supply expansion
  • Programmatic minting through a smart contract or PDA

When to revoke mint authority

You should consider revoking mint authority when:

  • The full supply is already minted
  • You want a fixed-supply token
  • You want to reduce holder concerns about future inflation
  • Your launch page or community promises no more minting
You can use Revoke Mint Authority after creation if you decide the supply should be permanently fixed.

Option 2: Create a mintable SPL token with Solana CLI

The CLI path is useful when you want direct control and a repeatable developer workflow.

Use Devnet first

The commands below should be tested on Devnet before Mainnet. Mainnet transactions use real SOL and create real on-chain assets.

1. Set your CLI to Devnet

solana config set --url https://api.devnet.solana.com
solana address
solana balance

If you need Devnet SOL:

solana airdrop 2

2. Create the token mint

Create a standard SPL token mint with 9 decimals:

spl-token create-token --decimals 9

The CLI will print a mint address. Save it.

Creating token <MINT_ADDRESS>
Signature: <TRANSACTION_SIGNATURE>

That mint address is the token's unique on-chain identifier.

3. Create your token account / ATA

A mint account is not where wallet balances live. You also need a token account, usually an Associated Token Account (ATA), to hold your balance.

spl-token create-account <MINT_ADDRESS>

4. Mint the initial supply

For the spl-token CLI, the displayed token amount is commonly entered as a UI amount. For example, this mints 100 tokens to your default token account for that mint:
spl-token mint <MINT_ADDRESS> 100

Then verify:

spl-token balance <MINT_ADDRESS>
spl-token supply <MINT_ADDRESS>

Decimals still matter

CLI tools may accept human-readable token amounts, while SDK instructions often use raw base units. With 9 decimals, 1 UI token equals 1,000,000,000 base units. Always check the tool or SDK you are using before minting supply.

5. View mint details

spl-token account-info <MINT_ADDRESS>

Check:

  • Decimals
  • Supply
  • Mint authority
  • Freeze authority
  • Token program

Option 3: Create and mint a token with TypeScript

Use TypeScript if your app needs to create token mints programmatically or prepare transactions for wallet signing.

Install dependencies:

npm install @solana/web3.js @solana/spl-token

TypeScript example

import {
  Connection,
  Keypair,
  clusterApiUrl,
  LAMPORTS_PER_SOL,
} from "@solana/web3.js";
import {
  createMint,
  getOrCreateAssociatedTokenAccount,
  mintTo,
  TOKEN_PROGRAM_ID,
} from "@solana/spl-token";

async function main() {
  const connection = new Connection(clusterApiUrl("devnet"), "confirmed");

  const payer = Keypair.generate();
  const airdropSignature = await connection.requestAirdrop(
    payer.publicKey,
    2 * LAMPORTS_PER_SOL
  );
  await connection.confirmTransaction(airdropSignature, "confirmed");

  const decimals = 9;
  const mintAuthority = payer;
  const freezeAuthority = payer.publicKey;

  const mint = await createMint(
    connection,
    payer,
    mintAuthority.publicKey,
    freezeAuthority,
    decimals,
    undefined,
    undefined,
    TOKEN_PROGRAM_ID
  );

  const ata = await getOrCreateAssociatedTokenAccount(
    connection,
    payer,
    mint,
    payer.publicKey
  );

  const uiAmount = 100n;
  const rawAmount = uiAmount * 10n ** BigInt(decimals);

  await mintTo(
    connection,
    payer,
    mint,
    ata.address,
    mintAuthority,
    rawAmount
  );

  const supply = await connection.getTokenSupply(mint);

  console.log("Mint:", mint.toBase58());
  console.log("ATA:", ata.address.toBase58());
  console.log("Supply:", supply.value.uiAmountString);
}

main().catch((error) => {
  console.error(error);
  process.exit(1);
});

Why rawAmount is multiplied

The SDK mintTo amount is a raw token amount. If decimals are 9, minting 100 UI tokens means minting 100 * 10^9 raw units.

For production apps, do not use a randomly generated payer like this. Use wallet signing, secure key management, multisig, or a program-controlled authority depending on your architecture.


Token Program vs Token-2022

Solana has the original Token Program and the newer Token-2022 Program. Most basic SPL tokens use the original Token Program. Token-2022 supports extensions such as transfer fees, metadata pointer patterns, confidential transfer features, and other advanced options.

ProgramBest forNotes
Token ProgramStandard SPL tokensBroad wallet and exchange compatibility
Token-2022Advanced token extensionsUseful for transfer fees and extension-based features

If you are creating a simple token for broad compatibility, standard SPL is usually the safer default. If you need transfer fees or specific Token-2022 extensions, use Token-2022 intentionally and test compatibility with wallets, explorers, and dApps before launch.

You can create Token-2022 mints with the Token-2022 program ID:

spl-token --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb create-token --decimals 9

Metadata: name, symbol, image, and URI

Wallets and explorers need metadata to display your token properly. Metadata usually includes:

  • Token name
  • Symbol
  • Description
  • Image URL
  • Metadata JSON URI

For standard SPL tokens, metadata is commonly handled with the Metaplex Token Metadata Program. For Token-2022 mints, metadata can also use extension-based patterns.

If you use DEXArea Token Creator, the creation flow can handle the metadata fields through the UI. If you already created a token and need to change metadata later, use Update Metadata, assuming you still control the update authority and the metadata is mutable.

Metadata is not the same as supply authority

Changing token metadata does not give you the ability to mint tokens. Mint authority, freeze authority, and metadata update authority are separate controls.


Mint authority: keep, transfer, or revoke?

After creating a mintable SPL token, you need a plan for the mint authority.

Keep mint authority

Keep it only if future minting is part of your token design. For example:

  • Reward programs
  • Staking emissions
  • Vesting schedules
  • Treasury releases
  • DAO-controlled supply expansion

Transfer mint authority

Transferring mint authority can be safer than keeping it on a normal wallet. You may transfer authority to:

  • A multisig
  • A governance-controlled wallet
  • A program-derived address (PDA)
  • A more secure cold wallet
Use Transfer Authority if you need to move token authority to another address.

Revoke mint authority

Revoking mint authority permanently disables future minting for that token mint. This is common when projects want to prove the supply is fixed.

CLI example:

spl-token authorize <MINT_ADDRESS> mint --disable
Or use Revoke Mint Authority if you prefer a no-code wallet flow.

Revoking is permanent

Once mint authority is revoked, you cannot mint more supply for that mint. Do not revoke it unless your final supply is already minted and verified.


Common mistakes when creating mintable Solana tokens

1. Choosing the wrong decimals

Most Solana tokens use 6 or 9 decimals. Once the mint is created, decimals cannot realistically be changed. If you choose the wrong value, you usually need to create a new mint.

2. Minting to the wrong token account

A wallet address and a token account address are not the same thing. Each wallet usually needs an ATA for each token mint.

3. Forgetting metadata

A token without metadata may look broken or suspicious in wallets and explorers.

4. Keeping mint authority on a hot wallet

If your mint authority wallet is compromised, an attacker may mint new supply. That is not exactly the branding moment most projects dream of.

5. Revoking too early

If you revoke mint authority before minting the intended final supply, the token is permanently capped at the current supply.

6. Testing directly on Mainnet

Always test the full flow on Devnet first: create token, mint supply, update metadata, transfer tokens, revoke authority, and verify on explorer.


  • Create the token on Devnet first.
  • Confirm name, symbol, decimals, image, and metadata URI.
  • Mint the intended initial supply.
  • Verify supply in a Solana explorer.
  • Test transfers to another wallet.
  • Test burning a small amount if burn functionality matters.
  • Decide whether to keep, transfer, or revoke mint authority.
  • Decide whether to keep or revoke freeze authority.
  • Document authority status for your community.
  • Repeat on Mainnet only after the Devnet flow works.

For a stronger launch security flow, combine:


FAQ


Final thoughts

Creating a mintable SPL token on Solana is straightforward. Managing it responsibly is the real work.

If you need speed, use the Solana Token Creator. If you need technical control, use the CLI or TypeScript workflow. Either way, decide what should happen to mint authority before your token reaches real users.

A clean launch flow looks like this:

  1. Create the token.
  2. Add metadata.
  3. Mint the intended supply.
  4. Verify the mint and token accounts.
  5. Transfer or distribute tokens if needed.
  6. Revoke or secure authority based on your tokenomics.
For no-code token operations, DEXArea provides tools for creating Solana tokens, minting SPL tokens, updating metadata, and revoking mint authority.

References

DEXArea Knowledge Team - Blockchain documentation experts
DEXArea Knowledge TeamOur team has hands-on experience building Solana tooling, Web3 infrastructure, and DeFi applications. We create accurate, structured documentation based on official sources and real-world testing. Trusted by thousands of token creators since 2024. Learn more about our expertise
Last updated: Dec 16, 2025

Related Posts

View all