Mint

Describes a token: its authority, total supply, decimals, and optional freeze authority. USDC, USDT, and wrapped SOL all have Mint accounts.

Token Program 82 bytes

Sample: USDC Mint

(cached; refreshes hourly · mainnet only)

Mint Authority Option Mint Authority Supply Decimals Is Initialized Freeze Authority Option Freeze Authority
0 1 2 3 4 5 6 7 8 9 A B C D E F
0000 01 00 00 00 98 fe 86 e8 8d 9b e2 ea 8b c1 cc a4
0010 87 8b 29 88 c2 40 f5 2b 84 24 bf b4 0e d1 a2 dd
0020 cb 5e 19 9b 3b a4 37 cc 97 01 1e 00 06 01 01 00
0030 00 00 62 70 aa 8a 59 c5 94 05 b4 52 86 c8 67 72
0040 e6 cd 12 6e 9b 8a 5d 3a 38 53 6d 37 f7 b4 14 e8
0050 b6 67

An SPL Mint account defines a fungible token on Solana — its authority, total supply, decimals, and optional freeze authority. USDC, USDT, and wrapped SOL are all defined by Mint accounts.

Solana doesn't ship a built-in token primitive. The SPL Token program treats every fungible token the same way: each token has exactly one Mint account holding the canonical metadata, and many Token Accounts holding individual balances. This separation is what lets the same token live in millions of wallets without re-storing the metadata each time.

You encounter a Mint anytime you read the mint field of a Token Account, call getMint over RPC, or look up an asset on Jupiter, a wallet UI, or an explorer.

The 82-byte layout is small and dense: mint_authority decides who can mint new supply (or None if minting is locked), supply is the running total in atomic units, decimals is the display divisor that turns atomic units into human numbers, is_initialized is a one-byte flag, and freeze_authority decides who (if anyone) can freeze individual Token Accounts. Both authorities are Option — a one-byte tag in front of a 32-byte pubkey when present.