developer · intermediate
Solana accounts explained
Everything on Solana is an account. Here's the model that ties it all together.
Quick summary
- 01Every piece of state on Solana lives in an account.
- 02Each account has an owner program, lamport balance, and data buffer.
- 03Programs themselves are stored in (executable) accounts.
- 04Accounts pay rent based on size — most are made rent-exempt at creation.
- 05This model is what enables Solana's parallel execution.
What you'll learn
- What an account actually is.
- Who owns an account and what that means.
- How rent and rent-exemption work.
- Why this model enables parallelism.
On Solana, the universal unit of state is the account. Wallets are accounts. Tokens live in accounts. Programs are accounts. NFTs are accounts. The consistency of this model is the single most important thing to internalize as a developer.
The shape of an account
Every account has the same minimal shape: a 32-byte address, an owner (the public key of a program), a lamport balance, and an arbitrary-length data buffer that stores its state.
Account ownership
Owner is not authority
The owner of an account is the program that's allowed to mutate its data. The authority is the user (or PDA) the program treats as in charge. For a token account, the owner is always the SPL Token program; the authority is your wallet.
Rent and rent-exemption
Accounts must hold a minimum lamport balance proportional to their size. Hold at least two years' worth and the account becomes rent-exempt, meaning it never gets purged. In practice virtually every account is created rent-exempt.
Key takeaways
- →Every piece of state on Solana lives in an account.
- →Owner = program allowed to mutate; authority = user the program defers to.
- →Rent-exemption is the norm.
- →The account model is what enables parallel execution.
Frequently asked questions
Are wallets accounts?
Yes. A wallet's address is the address of a system-program-owned account that holds your SOL balance.
Can the owner of an account change?
Yes, but only via the current owner program — and most programs never expose that capability.
People also learn
developer
Programs explained
Programs are stateless. Their state lives in accounts. That changes everything.
developer
PDAs explained
Program Derived Addresses — the deterministic accounts a program controls.
developer
Transactions and instructions
Instructions compose into transactions. Transactions are atomic.
developer
Cross-program invocations (CPIs)
How one program calls another — and why composability is Solana's superpower.
Solana.college is an independent educational platform and is not affiliated with Solana Labs or the Solana Foundation. Content is for educational purposes only — not financial, investment, or legal advice. See our full disclaimer.
