Solana Technical Limits

Solana Technical Limits
Photo by Markus Spiske / Unsplash

A comprehensive overview of Solana's key technical limits:

Transaction Limits

  • Maximum Transaction Size: 1,232 bytes
  • Maximum Signatures: 64 signatures per transaction
  • Compute Units Per Transaction: 1,400,000 CU maximum
  • Maximum Instructions: No hard limit, but constrained by compute budget and transaction size

Account Limits

  • Maximum Account Size: 10 MB (10,485,760 bytes)
  • Maximum Accounts Per Transaction: 64 accounts
  • Maximum Account Data Cross-Program Invocation (CPI) Depth: 4 levels deep

Program Execution Limits

  • Maximum Call Depth: 64 frames
  • Maximum Stack Size: 4KB per frame
  • Maximum CPI Calls: Limited by compute budget (not a fixed number)
  • Maximum Heap Size: 32KB
  • Maximum Seed Length: 32 bytes
  • Maximum Program Size: 900KB

Validator Limits

  • Slots Per Epoch: 432,000 slots (approximately 2-3 days)
  • Maximum Concurrent Program Executions: Depends on leader's hardware
  • Vote Transaction Size Limit: 1,280 bytes

Rate Limits

  • Transactions Per Second (TPS): Theoretical maximum of 65,000 TPS (though practical throughput is typically lower)
  • Block Time Target: 400ms
  • Maximum Vote Signing Rate: 1,000 votes per second

Storage Limits

  • Maximum Rent-Exempt Reserve: Proportional to account size (approximately 2 years' worth of rent)
  • Program Log Size: 10KB maximum

Consensus Limits

  • Minimum Stake for Consensus Participation: No hard minimum, but validators need enough stake to be economically viable
  • Tower BFT History: Limited to 32 slots