Solana token creation explained
The complete sequence from an empty keypair to a tradable token: account creation, rent, initialisation, the first mint, metadata, and the point where each step stops being reversible.
Open the noteOn Solana a token is an account, not a contract. The mint account is allocated, paid for once with a rent-exempt deposit, and then initialised with a handful of values. Balances live in other accounts entirely. Nothing about a token is written in code that belongs to the token; the behaviour comes from the program that owns the mint.
That design is why this bench exists. A single initialise instruction fixes the decimals and decides whether a freeze authority will ever be possible, and most of the confusion around token safety comes from readers who have been shown a total supply figure without being told whether anything stops it from growing.
The mint account is the token. Everything a holder can be subjected to later, dilution, freezing, a supply that keeps growing, is decided by fields written into that one account.
The complete sequence from an empty keypair to a tradable token: account creation, rent, initialisation, the first mint, metadata, and the point where each step stops being reversible.
Open the noteTwo optional keys stored inside the mint. One can print more supply forever, the other can freeze a holder in place. What each can really do, and what revoking actually changes.
Open the noteDecimals are a one-byte field written once and never changed. How raw amounts relate to displayed amounts, why supply has no ceiling field, and how a fixed supply is actually produced.
Open the noteThe mint account answers what can happen to supply and to holder accounts. It says nothing about what the token is called, what it looks like on a wallet screen, or who is allowed to change those things later, because none of that is stored in the mint under the original token program.
It also says nothing about how the token was created. A mint produced by a launchpad and a mint produced by three instructions in a script are indistinguishable once they exist, which is exactly why the field guide starts from the account state rather than from the story attached to it.