Core Programs

Summary

Core programs provide fundamental network functionality: account management (System Program), consensus (Vote, Stake), transaction optimization (Compute Budget, Address Lookup Table), and privacy (ZK ElGamal Proof). Includes System Program instruction reference and source links for all 7 programs.

The System Program

The System Program (11111111111111111111111111111111) is the only program that can create new accounts. All new accounts are initially owned by the System Program, though ownership is typically reassigned upon creation. The System Program consumes DEFAULT_COMPUTE_UNITS (150 CUs) per instruction.

System Program instruction reference

InstructionDescription
CreateAccountCreates a new account. Allocates space bytes, assigns owner, and transfers lamports from the payer. The new account and the payer must sign.
CreateAccountWithSeedSame as CreateAccount, but derives the new account's address from an account's pubkey, a seed string, and the owner program. The account whose pubkey was used to derive the address and the payer must sign.
AssignSets the account's owner. Account must sign. No-op if already that owner.
AssignWithSeedSame as Assign, but for a seed-derived address. The account whose pubkey was used to derive the address must sign.
TransferTransfers lamports between accounts. The sender must sign.
TransferWithSeedSame as Transfer, but from a seed-derived address. The account whose pubkey was used to derive the address must sign.
AllocateSets the account's data length. Account must sign, have empty data, and be owned by System Program. Maximum 10 MiB.
AllocateWithSeedSame as Allocate, but for a seed-derived address. Also assigns the owner. The account whose pubkey was used to derive the address must sign.
AdvanceNonceAccountAdvances the nonce value to the current blockhash. Nonce authority must sign.
InitializeNonceAccountInitializes an account as a nonce account with the given authority. Account must be rent-exempt.
AuthorizeNonceAccountChanges the nonce authority. Current authority must sign.
WithdrawNonceAccountWithdraws lamports from a nonce account. Authority must sign. If not closing, remaining balance must cover rent.
UpgradeNonceAccountUpgrades a nonce account from legacy to current version format. Account must be writable and contain a legacy nonce version.

All core programs

ProgramProgram IDDescriptionSource
System11111111111111111111111111111111Creates accounts, transfers SOL, allocates data, and assigns ownershipSource
VoteVote111111111111111111111111111111111111111Creates and manages accounts that track validator voting state and rewardsSource
StakeStake11111111111111111111111111111111111111Creates and manages stake delegations to validatorsSource
ConfigConfig1111111111111111111111111111111111111Stores configuration data on-chain with key-based access controlSource
Compute BudgetComputeBudget111111111111111111111111111111Sets compute unit limits and priority fees for transactionsSource
Address Lookup TableAddressLookupTab1e1111111111111111111111111Manages address lookup tables for transactions that reference many accountsSource
ZK ElGamal ProofZkE1Gama1Proof11111111111111111111111111111Verifies zero-knowledge proofs for ElGamal-encrypted dataSource

Loader programs

Every program is owned by a loader program. Loaders handle deployment, upgrade, and execution of the programs they own. See Loader Programs for the full list of loaders and their addresses.

Is this page helpful?

सामग्री तालिका

पृष्ठ संपादित करें

द्वारा प्रबंधित

© 2026 सोलाना फाउंडेशन। सर्वाधिकार सुरक्षित।
जुड़े रहें