SPL Token Program — ID & Instructions
TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA The SPL Token Program is the standard program for creating and managing fungible and non-fungible tokens on Solana. Every SPL token mint and token account is owned by this program.
Program ID
TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
Key instructions
| Instruction | Description |
|---|---|
InitializeMint | Creates a new token mint with a specified decimal count and optional mint/freeze authorities |
InitializeAccount | Creates a token account for a specific mint, owned by a wallet |
MintTo | Mints new tokens to a token account (requires mint authority) |
Transfer | Transfers tokens between token accounts |
Burn | Burns tokens from a token account, reducing total supply |
Approve | Delegates a specified token amount to another account |
Revoke | Revokes a previously approved delegation |
SetAuthority | Changes the mint authority, freeze authority, or account owner |
CloseAccount | Closes a token account, returning its rent-exempt lamports to a destination |
FreezeAccount | Freezes a token account, preventing transfers (requires freeze authority) |
ThawAccount | Unfreezes a previously frozen token account |
Token accounts
Every wallet that holds a specific token needs a token account for that mint. Token accounts store the balance, owner, mint address, and delegation state. The standard way to derive a token account address is through the Associated Token Account program.
A token account requires approximately 0.00204 SOL for rent exemption (165 bytes of data).
Decimals
Token mints define a decimal count (0–9) at creation. A mint with 6 decimals stores 1.0 tokens as 1,000,000 raw units. Most fungible tokens on Solana use 6 or 9 decimals. NFTs use 0 decimals with a supply of 1.
FAQ
What is the difference between Token Program and Token-2022? Token-2022 (Token Extensions) is a newer program with additional features like transfer fees, confidential transfers, and metadata pointers. The original Token Program remains the most widely used.
Can I use the Token Program for NFTs? Yes. An NFT is a token mint with 0 decimals and a supply of 1. Metaplex Token Metadata adds name, symbol, and URI on top of the base SPL token.
How do I close a token account?
Use the CloseAccount instruction. The account must have a zero token balance. The remaining rent-exempt lamports are returned to a specified destination wallet.
Is the Token Program upgradeable? No. It is a non-upgradeable program deployed at a fixed address.
Updated: