Solana Technical Limits
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