Accounts

An account is Solana's fundamental data unit for storing state. The network stores all state in a key-value store where each key is a 32-byte address and each value is an account.

Diagram of 3 accounts and their addresses. Includes the account structure definition.Diagram of 3 accounts and their addresses. Includes the account structure definition.

Key facts

  • Structure: Every account has the same five fields: lamports, data, owner, executable, rent_epoch.
  • Address: Each account is identified by a unique 32-byte address (either an Ed25519 public key or a PDA).
  • Ownership: Only the account's owner program can modify its data or debit lamports. Any program can credit lamports to any writable account.
  • Rent: Every account must hold a minimum lamport balance proportional to its data size to remain on-chain.

Limits

LimitValueSource
Max account data size10 MiB (10,485,760 bytes)MAX_ACCOUNT_DATA_LEN
Max data growth per instruction10 KiB (10,240 bytes)MAX_PERMITTED_DATA_INCREASE
Max data growth per transaction20 MiB (20,971,520 bytes)MAX_ACCOUNT_DATA_GROWTH_PER_TRANSACTION
Account base storage overhead64 bytes per accountTRANSACTION_ACCOUNT_BASE_SIZE
Address size32 bytes (Ed25519 public key)--
Rent-exempt minimum (formula)(account_size + 128) * 3,480 lamports/byte-year * 2 yearsminimum_balance()

Is this page helpful?

Table of Contents

Edit Page

Managed by

© 2026 Solana Foundation.
All rights reserved.
Get connected
Accounts | Solana