Skip to content
KYVROTestnet
Documentation menu

Program upgrades

Upgrade authorities, immutable programs and explorer transparency.

TestnetVerified Oct 15, 2026
On this page

How upgrades work#

Programs deployed with the default tooling use the upgradeable loader (BPFLoaderUpgradeab1e11111111111111111111111). The program account points at a program-data account holding the code, and a single upgrade authority address can replace that code. Whoever holds the authority key can change what the program does — including draining every account the program controls.

  • Authority set: the program can be upgraded, and only by that authority.
  • Authority renounced (None): the program is immutable and can never change again.
  • The genesis-preloaded SPL programs are immutable under a different loader — see preloaded programs.

Checking an authority#

Paste any program ID into the explorer(opens in a new tab): program address pages show the upgrade-authority details transparently.

Explorer upgrade-authority fields
FieldMeaning
programDataThe program-data account holding the code
upgradeAuthorityWho can upgrade it — null means immutable
deploymentSlotWhen the code was last deployed
immutableTrue when there is no upgrade authority

The same information is available from the CLI:

Terminal
solana program show <PROGRAM_ID> --url https://rpc-testnet.kyvro.si

Managing your authority#

Anchor's anchor deploy sets the upgrade authority to your wallet keypair. With the Solana CLI you can transfer it or renounce it permanently:

Terminal
solana program set-upgrade-authority <PROGRAM_ID> \
  --new-upgrade-authority <NEW_AUTHORITY_KEYPAIR> \
  --url https://rpc-testnet.kyvro.si --keypair ~/test-authority.json

Run solana program set-upgrade-authority --help for the full options, including making a program immutable. There is no undo for renouncing.

Testnet programs change

Anyone's Testnet program can be upgraded or closed at any time, and a reset removes every program. Never assume a Testnet program ID you did not deploy will still do tomorrow what it does today.

Guidance#

  • Before trusting a program, check its upgrade authority on the explorer. An authority held by one anonymous key is one compromised laptop away from a rug.
  • For programs other people rely on, put the authority behind a multisig and say so publicly.
  • Use a dedicated authority keypair — never your main wallet — and keep it offline when you are not upgrading.
  • When a program is finished, renounce the authority and link to the explorer page showing immutable: true as proof.

Something wrong or missing on this page? Send developer feedback.