Skip to Content
svmgovAdministrationInitialize Global Config

Initialize Global Config

Create the on-chain GlobalConfig singleton and set all governance parameters. One-time setup, required before any proposals can be created.

Signer

The transaction must be signed by the program’s upgrade authority. Init is gated on-chain: the program verifies the supplied program_data account belongs to this program and that its upgrade_authority_address equals the signer. The signer becomes the stored GlobalConfig.admin.

Run this before making the program immutable. If the upgrade authority is set to None, initialization can no longer succeed.

The CLI derives and passes the program and ProgramData accounts automatically, and runs a best-effort pre-flight check that the signer is the upgrade authority before sending.

Usage

svmgov -k <UPGRADE_AUTHORITY_KEYPAIR> init-global-config \ --max-title-length 128 \ --max-description-length 500 \ --max-support-epochs 0 \ --min-proposal-stake-lamports 1000000000 \ --cluster-support-pct-min-bps 100 \ --discussion-epochs 3 \ --voting-epochs 3 \ --snapshot-epoch-extension 1 \ --snapshot-slot-offset 1000

Arguments

ArgumentTypeDescriptionBound
--max-title-lengthu16Max bytes in a proposal title1–200
--max-description-lengthu16Max bytes in a proposal description1–500
--max-support-epochsu64Max epochs a proposal can stay in the support phase
--min-proposal-stake-lamportsu64Min stake (lamports) to create a proposal
--cluster-support-pct-min-bpsu64Cluster support threshold (basis points)0–10,000
--discussion-epochsu64Epochs reserved for discussion
--voting-epochsu64Epochs in the voting window
--snapshot-epoch-extensionu64Extension epochs before the snapshot slot is set
--snapshot-slot-offseti64Slot offset from epoch start for the snapshot

Global Arguments

OptionShortDescription
--keypair <PATH>-kPath to the signer keypair (the upgrade authority)
--rpc-url <URL>-rCustom RPC URL
Last updated on