Data Account
Pronunciation: DAY-tuh uh-KOWNT
Definition
A data account is a blockchain account used primarily to store program state rather than executable code. It can contain serialized balances, configuration, ownership records, counters, or application-specific information that an on-chain program reads and modifies. The account’s owner program, address derivation, schema, permissions, size, and funding requirements determine how it can be used.
Overview
Meaning and scope
A data account is a blockchain account used primarily to store program state rather than executable code. It can contain serialized balances, configuration, ownership records, counters, or application-specific information that an on-chain program reads and modifies. The account’s owner program, address derivation, schema, permissions, size, and funding requirements determine how it can be used.
Mechanism and operation
Data accounts are especially prominent in architectures that separate code from mutable state. On Solana, programs are generally stateless, while data accounts passed to instructions hold the information those programs operate on. The runtime records each account ’s address, lamport balance, byte data, owner program, and executable flag. Other blockchains can express similar separation through contract storage, objects, resources, or dedicated state records. Only the permitted program or authority can make defined changes. On Solana, the owner program controls modification of account data, while transaction signatures and instruction rules determine whether a specific update is authorized.
Practical payment example
A blockchain application writes program data to a dedicated account. Before accepting an externally supplied state value, its indexer checks the owner, address derivation and relevant layout version.
Operational checks
A data account can be created at a normal key-based address or a Derived Account address. Applications must decode the account using the correct schema and version. Secure programs validate owner, expected discriminator, size, writable status, signer requirements, and relationships among accounts. Payment systems should not trust a decoded amount or destination until these checks match the active program.
Distinctions and limits
Deriving an address does not itself allocate storage; creation, funding, and initialization are separate operations. The same byte sequence can be interpreted differently if a program upgrade changes layout or if the wrong account type is supplied.
Related reading
Related definitions: account, Derived Account.
Example
A blockchain application writes program data to a dedicated account. Before accepting an externally supplied state value, its indexer checks the owner, address derivation and relevant layout version.
Comparison
Deriving an address does not itself allocate storage; creation, funding, and initialization are separate operations. The same byte sequence can be interpreted differently if a program upgrade changes layout or if the wrong account type is supplied.
Key Takeaway
A data account stores program-controlled state, and safe use depends on validating its owner, schema, authority, creation state, and canonical contents.
Sources
- Solana Accounts — Solana Foundation (2026-08-02)
- Solana Transactions — Solana Foundation (2026-08-02)
- Solana Program Derived Addresses — Solana Foundation (2026-08-02)