Journal — September 2026
Reading Solana accounts like a ledger
Every account on Solana is a row in a global ledger with a fixed set of fields. If you learn to read those fields before diving into the data, most programs become easier to follow.
The basic fields
- Lamports — the balance of native tokens held by the account.
- Owner — the only program allowed to deduct lamports or change the data size.
- Data — the byte payload, interpreted according to the owner program.
- Executable — true only for program accounts, false for state accounts.
- Rent epoch — the last epoch for which rent was calculated.
Rent exemption
An account must hold enough lamports to cover two years of rent. If the balance falls below that threshold, the network will eventually reclaim it. Check the rent-exempt minimum for the current data length before funding an account.
Discriminators
Most programs prefix their account data with a discriminator: a few bytes that identify the account type. When you inspect an unknown account, read the first eight bytes and compare them with the program source.
Signers and writable flags
A transaction lists every account it will touch and marks each as signer or writable. If an account is writable, the program can mutate its data. If it is a signer, the program can verify that the owner authorized the change.
Program derived addresses
PDAs let programs own accounts without a private key. They are derived from seeds and a bump seed that keeps the address off the elliptic curve. Look for the seeds in the program instructions to understand why a PDA exists.
Reading an account is a concrete skill. Look at one ledger row and ask who owns it, how much it holds, what it stores, and who is allowed to change it.