This page is a single reference for all runtime constants mentioned across the core concept pages. Each constant links to its source definition in the agave validator client or solana-sdk.
Accounts
| Constant | Value | Description | Source |
|---|---|---|---|
MAX_ACCOUNT_DATA_LEN | 10 MiB (10,485,760 bytes) | Maximum account data size | MAX_ACCOUNT_DATA_LEN |
MAX_ACCOUNT_DATA_GROWTH_PER_TRANSACTION | 20 MiB (20,971,520 bytes) | Max new account data allocated per transaction | MAX_ACCOUNT_DATA_GROWTH_PER_TRANSACTION |
MAX_PERMITTED_DATA_INCREASE | 10,240 bytes (10 KiB) | Max realloc increase per CPI | MAX_PERMITTED_DATA_INCREASE |
TRANSACTION_ACCOUNT_BASE_SIZE | 64 bytes | Per-account overhead counted toward loaded data size | TRANSACTION_ACCOUNT_BASE_SIZE |
Transactions
| Constant | Value | Description | Source |
|---|---|---|---|
PACKET_DATA_SIZE | 1,232 bytes | Maximum transaction size (IPv6 MTU minus headers) | PACKET_DATA_SIZE |
MAX_ACCOUNTS_PER_TRANSACTION | 256 | Hard ceiling from u8 index encoding. The enforced runtime limit is 64 (128 when increase_tx_account_lock_limit is activated, currently inactive). | MAX_ACCOUNTS_PER_TRANSACTION |
MAX_PROCESSING_AGE | 150 slots | Blockhash expiry window | MAX_PROCESSING_AGE |
MAX_RECENT_BLOCKHASHES | 300 entries | BlockhashQueue size | MAX_RECENT_BLOCKHASHES |
MAX_SIGNATURES_PER_PACKET | 12 | Maximum signatures per transaction packet | MAX_SIGNATURES_PER_PACKET |
Instructions
| Constant | Value | Description | Source |
|---|---|---|---|
MAX_INSTRUCTION_TRACE_LENGTH | 64 | Maximum total instructions (top-level + CPIs) | MAX_INSTRUCTION_TRACE_LENGTH |
MAX_INSTRUCTION_DATA_LEN | 10,240 bytes (10 KiB) | Maximum instruction data per instruction | MAX_INSTRUCTION_DATA_LEN |
Programs
| Constant | Value | Description | Source |
|---|---|---|---|
MAX_LOADED_ACCOUNTS_DATA_SIZE_BYTES | 64 MiB (67,108,864 bytes) | Default loaded accounts data size limit | MAX_LOADED_ACCOUNTS_DATA_SIZE_BYTES |
PROGRAM_OWNERS | BPF Loader Upgradeable, BPF Loader, BPF Loader Deprecated, Loader V4 | Valid program owner loaders | PROGRAM_OWNERS |
STACK_FRAME_SIZE | 4,096 bytes | SBF stack frame size | STACK_FRAME_SIZE |
MAX_CALL_DEPTH | 64 | Maximum SBF-to-SBF call depth | MAX_CALL_DEPTH |
MAX_LOADED_ENTRY_COUNT | 512 | Maximum cached programs | MAX_LOADED_ENTRY_COUNT |
DELAY_VISIBILITY_SLOT_OFFSET | 1 slot | Program deployment visibility delay | DELAY_VISIBILITY_SLOT_OFFSET |
Fees & Compute
| Constant | Value | Description | Source |
|---|---|---|---|
DEFAULT_INSTRUCTION_COMPUTE_UNIT_LIMIT | 200,000 CUs | Default CU limit per instruction | DEFAULT_INSTRUCTION_COMPUTE_UNIT_LIMIT |
MAX_BUILTIN_ALLOCATION_COMPUTE_UNIT_LIMIT | 3,000 CUs | Default CU limit per builtin instruction | MAX_BUILTIN_ALLOCATION_COMPUTE_UNIT_LIMIT |
MAX_COMPUTE_UNIT_LIMIT | 1,400,000 CUs | Maximum CU limit per transaction | MAX_COMPUTE_UNIT_LIMIT |
lamports_per_signature | 5,000 lamports | Default base fee per signature | FeeStructure::default() |
MICRO_LAMPORTS_PER_LAMPORT | 1,000,000 | Micro-lamports per lamport conversion | MICRO_LAMPORTS_PER_LAMPORT |
MAX_HEAP_FRAME_BYTES | 262,144 bytes (256 KiB) | Maximum BPF heap size | MAX_HEAP_FRAME_BYTES |
DEFAULT_HEAP_COST | 8 CUs per 32 KiB page | Cost to allocate heap pages | DEFAULT_HEAP_COST |
HEAP_LENGTH | 32,768 bytes (32 KiB) | Default BPF heap size | HEAP_LENGTH |
WRITE_LOCK_UNITS | 300 CUs | Compute cost per write-locked account | WRITE_LOCK_UNITS |
SIGNATURE_COST | 720 CUs | Compute cost per Ed25519 signature | SIGNATURE_COST |
SECP256K1_VERIFY_COST | 6,690 CUs | Compute cost per secp256k1 signature | SECP256K1_VERIFY_COST |
PDA
| Constant | Value | Description | Source |
|---|---|---|---|
MAX_SEEDS | 16 | Maximum number of seeds per PDA derivation | MAX_SEEDS |
MAX_SEED_LEN | 32 bytes | Maximum length of a single seed | MAX_SEED_LEN |
| Bump seed range | 255 down to 0 | Range tried for canonical bump | find_program_address |
create_program_address cost | 1,500 CUs | CU cost per PDA derivation syscall | create_program_address_units |
CPI
| Constant | Value | Description | Source |
|---|---|---|---|
MAX_INSTRUCTION_STACK_DEPTH | 5 (9 with SIMD-0268) | Maximum call stack depth | MAX_INSTRUCTION_STACK_DEPTH, MAX_INSTRUCTION_STACK_DEPTH_SIMD_0268 |
DEFAULT_INVOCATION_COST | 1,000 CUs (946 with SIMD-0339) | CPI invocation cost | DEFAULT_INVOCATION_COST, INVOKE_UNITS_COST_SIMD_0339 |
MAX_SIGNERS | 16 | Maximum PDA signers per CPI | MAX_SIGNERS |
MAX_CPI_ACCOUNT_INFOS | 128 (255 with SIMD-0339) | Maximum account infos passed to a CPI | MAX_CPI_ACCOUNT_INFOS, MAX_CPI_ACCOUNT_INFOS_SIMD_0339 |
MAX_RETURN_DATA | 1,024 bytes | Maximum return data from a CPI | MAX_RETURN_DATA |
cpi_bytes_per_unit | 250 bytes per CU | CPI serialization cost rate | cpi_bytes_per_unit |
Is this page helpful?