Deployment Basics
7 examples to get you started with program deployment - 4 basic and 3 intermediate. Covers BPF loader, program/buffer accounts, deploy commands, and upgrade authority on Agave 4.1.1.
Search across all documentation pages
7 examples to get you started with program deployment - 4 basic and 3 intermediate. Covers BPF loader, program/buffer accounts, deploy commands, and upgrade authority on Agave 4.1.1.
anchor build produces target/deploy/*.so.solana config set --url devnet
solana airdrop 2
anchor buildDeployed programs are executable accounts owned by the BPF loader.
solana program show <PROGRAM_ID>ProgramData account holds ELF bytes and upgrade authority pubkey.Related: Deploying Programs
Standard deploy uploads .so to buffer then copies to program account.
solana program deploy target/deploy/my_program.so \
--program-id target/deploy/my_program-keypair.json.so size.Related: Program Upgrades
Anchor wraps build + deploy in workspace workflow.
anchor deploy --provider.cluster devnetAnchor.toml wallet as payer and upgrade authority by default.declare_id! in Rust source.anchor keys sync updates keypair paths in Anchor.toml.Whoever holds upgrade authority can replace program bytecode.
solana program show <PROGRAM_ID> | grep AuthorityNone means immutable program (authority revoked).Related: Making Programs Immutable
Large programs deploy via intermediate buffer to allow resume on failure.
solana program write-buffer target/deploy/my_program.so
solana program deploy --buffer <BUFFER_ADDRESS> --program-id <PROGRAM_ID>Compare local build to on-chain program with solana-verify.
solana-verify get-executable-hash target/deploy/my_program.so
solana-verify get-program-hash <PROGRAM_ID> --url devnetRelated: Verifiable Builds
Production upgrade authority on Squads multisig.
solana program set-upgrade-authority <PROGRAM_ID> --new-upgrade-authority <SQUADS_MULTISIG>Related: Governance-Gated Upgrades
Stack versions: This page was written for Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0, and LiteSVM 0.6.x.
Reviewed by Chris St. John·Last updated Jul 19, 2026