thru-cli program when you are working with managed programs rather than raw uploader buffers.
Use This When
- you want to create or upgrade a managed program from a binary
- you need to pause, finalize, destroy, or inspect a managed program
- you need address derivation helpers such as
seed-to-hexor manager account derivation
- you want raw upload-buffer lifecycle commands: Uploader Commands
- you want to publish or inspect ABI accounts: ABI
Commands
| Command | Use it for |
|---|---|
create | Upload a binary and create a managed program. |
upgrade | Upload a new binary for an existing managed program. |
set-pause | Pause or unpause a managed program. |
destroy | Destroy a managed program and its meta account. |
finalize | Make a managed program immutable. |
set-authority | Set a new authority candidate. |
claim-authority | Claim authority as the candidate. |
derive-address | Derive a program address from a program ID and seed. |
derive-manager-accounts | Derive both manager metadata and program accounts from a seed. |
seed-to-hex | Convert a UTF-8 seed into a zero-padded 32-byte hex string. |
derive-program-account | Derive the managed program account only. |
status | Inspect program and related manager accounts. |
High-Signal Flags
| Flag | Why it matters |
|---|---|
--manager | Override the configured manager program ID. |
--ephemeral | Switch derivation and lifecycle to ephemeral program mode. |
--authority | Choose the configured authority key for program creation. |
--fee-payer | Override the signer used for destructive or finalizing actions. |
--chunk-size | Control upload chunk size for create and upgrade. |
Minimal Patterns
Notes
- For seed conversion, the correct command is
thru-cli program seed-to-hex, not a top-levelseed-to-hex. - Start with
statuswhen you need to understand whether a seed already has live manager or program accounts. - Reach for
uploaderonly when you intentionally want the lower-level upload account flow.