Highlights of this release: native Squads v3/v4 multisig integration and Ledger hardware-wallet support across the CLI.
Squads multisig (v3 + v4) — #524
New top-level squads subcommand for inspecting and acting on Helium-managed Squads multisigs. Both v3 (SMPLecH…) and v4 (SQDS4ep…) are supported. Wherever a target is expected, either a multisig PDA, a vault PDA, or a self-identifying transaction PDA works — vault → multisig resolution is cached locally after the first lookup.
helium-wallet squads members list <multisig|vault>
helium-wallet squads members add <multisig|vault> <pubkey> [--perm <list>] --commit
helium-wallet squads members remove <multisig|vault> <pubkey> --commit
helium-wallet squads list <multisig|vault> [--days <N>] [--include-drafts]
helium-wallet squads inspect <target> [--index <n>]
helium-wallet squads approve <target> [--index <n>] --commit
helium-wallet squads reject <target> [--index <n>] --commit
helium-wallet squads cancel <target> [--index <n>] --commit
helium-wallet squads execute <target> [--index <n>] --commit
helium-wallet squads threshold <multisig|vault> <new-threshold> --commit
Treasury-style wallet ops gain optional --squads <multisig|vault> and --memo <text> flags that wrap the operation as a v4 proposal instead of executing it directly. Supported commands:
| Command | Wraps |
|---|---|
transfer one, transfer multi
| Token transfer from the vault |
burn
| Subdao token burn from the vault |
dc mint
| HNT → DC mint |
dc burn (non-router branch)
| DC burn from the vault |
dc delegate
| DC delegation from the vault |
assets transfer, assets burn
| cNFT transfer/burn |
hotspots transfer, hotspots burn
| Hotspot transfer/burn |
Ledger hardware-wallet support — #527
End-to-end Ledger Nano X / Nano S Plus / Stax / Flex support via the official Solana app over USB-HID. The -f flag now also accepts a Ledger URL:
helium-wallet -f 'usb://ledger?key=0' balance
helium-wallet -f 'usb://ledger?key=0/0' transfer one <addr> 1 hnt --commit
- Default derivation is
m/44'/501'/0'/0'(Ledger Live form). Single-componentkey=Nselects the Solana CLI formm/44'/501'/N'. ?serial=filters by USB serial when multiple Ledgers are attached.- A new
helium-wallet ledger listsubcommand enumerates the first N Solana accounts on the device, bulk-fetches SOL and Helium ATA balances, and sorts funded accounts first. Scans both 3-level and 4-level derivations. - A blind-sign hook prints the SHA-256 of the unsigned message to stderr right before the device prompts, so reviewers can compare it against the hash shown on the Ledger screen.
- Ledger keypairs work as Squads v4 proposers, so the new
--squadsflag and Ledger combine for hardware-signed multisig proposals. - Software-only commands (
upgrade,hotspots add mobile cert) surface a clear error when invoked against a Ledger URL.
CommitOpts::maybe_commit now polls getSignatureStatuses after submission and only returns success on confirmed commitment — the previous behavior returned the locally-computed signature regardless of whether the transaction landed, which mattered for Ledger blind-sign approvals that can exceed the ~60s blockhash validity window. --confirm-timeout-secs (default 90) tunes the wait.
Fixes
assets burn/hotspots burnwere silently broken on master. Bubblegum's on-chain burn handler forwardsremaining_accountsto spl-account-compression'sreplace_leaffor Merkle-proof verification, but the message builder was only using the proof for priority-fee account hints, not the actual instruction accounts. Fixed in #524.- Asset Merkle proofs no longer include the canopy-side leaves. #520 (released in 2.3.1, included here for completeness).
Documentation
- README documents the release process (#521) and the full
squadssubcommand tree.
Install
Download helium-wallet-x86-64-linux.tar.gz or helium-wallet-arm64-macos.tar.gz below. Checksums are alongside each artifact.
Full changelog: helium-wallet-v2.3.1...helium-wallet-v2.4.0