← Back to Blog
SolanaBlockchainDevelopment

6 Types of Accounts on Solana

15 April 2023·3 min read·Milysec

If you're building on Solana, understanding accounts is non-negotiable. Solana doesn't work like Ethereum's simple contract storage model. Everything meaningful lives in an account, and different account types exist for different jobs.

Here's the clean breakdown.

1. System Accounts

A system account is the most basic Solana account. It is owned by the System Program and is usually what people mean when they talk about a wallet address holding SOL.

System accounts can:

  • hold native SOL
  • pay transaction fees
  • send and receive SOL
  • allocate space for new accounts

For most users, this is the default account type they interact with first.

2. Program Accounts

Program accounts hold deployed on-chain code. On Solana, smart contracts are called programs, and these accounts are executable.

Program accounts:

  • contain the deployed program binary
  • are marked executable
  • do not behave like normal data accounts
  • are invoked by transactions to run logic

If you're deploying a Solana app, your program lives in a program account.

3. Data Accounts

Data accounts store state for programs. This is where your app's data actually lives.

Examples include:

  • user profiles
  • order books
  • game state
  • protocol configuration
  • escrow records

A program account runs the logic, but data accounts hold the information the logic works on.

4. Token Accounts

Token accounts are used by the SPL Token Program to hold token balances. Unlike SOL, fungible tokens do not sit directly in your wallet's main system account.

Each token account is tied to:

  • a specific mint
  • a specific owner

That means one wallet can have many token accounts, one for each token it holds.

5. Mint Accounts

A mint account defines a token itself.

It stores metadata-like configuration for an SPL token, such as:

  • total supply
  • decimals
  • mint authority
  • freeze authority

If token accounts are the containers that hold balances, the mint account is the definition of the asset.

6. Associated Token Accounts

An associated token account, or ATA, is the standard token account derived for a wallet and a mint.

Why it matters:

  • it gives wallets a predictable token address
  • it simplifies token transfers
  • it reduces confusion around multiple token accounts for the same asset

In practice, most consumer apps rely heavily on ATAs because they make token UX much less cursed.

Why This Matters

Solana's account model is one of the main reasons it feels different to build on than other chains. It is more explicit, more structured, and sometimes more annoying at first — but it is also one of the reasons Solana can be so fast and efficient.

If you understand these six account types, a lot of Solana development starts making sense:

  • why programs need separate storage
  • why tokens use token accounts instead of wallet balances
  • why rent and account allocation matter
  • why account ownership is such a big deal

Final Thought

From simple wallets to complex protocol state, Solana's account system is flexible enough to support everything from payments to DeFi to NFTs and gaming.

Once you stop thinking in terms of “just a wallet” and start thinking in terms of account types with specific purposes, the whole architecture clicks into place.

About Milysec

Milysec is an Australian venture studio building at the intersection of cybersecurity and blockchain. We create products and services on Solana that make the decentralised web safer, faster, and more accessible.

Learn more about Milysec →