Multisig Wizard tracking issue #35645

issue pseudoramdom opened this issue on July 2, 2026
  1. pseudoramdom commented at 9:42 PM on July 2, 2026: contributor

    This issue tracks the work to bring guided multisig wallet setup to the GUI (gui-qml) i.e. a setup wizard backed by interfaces::Wallet methods so that N participants, each running Bitcoin Core, can create a k-of-n multisig (k ≤ n) without hand-assembling descriptors on the command line.

    It complements the multisig umbrella issue #24861, which tracks the backend primitives needed for multisig.

    Design / supporting document: https://gist.github.com/pseudoramdom/4e14d21a93323217cfe016885285b9aa


    Prerequisites

    • Allow wallets to have private keys with external_signer flag set - #33112

    Add keys & collect Keys

    • #29136 : addhdkey RPC to generate an HD key into a blank wallet, parked as unused(KEY)
      • #35436 - addhdkey: Corresponding wallet interface
    • #32784 - derivehdkey: account xpub at a chosen (BIP-87) path
      • Refactor into wallet helper plus interfaces::Wallet::deriveHDKey() - #36070
    • #35918 - validate a pasted key expression
    • setKeyLabel - per-key labels keyed by master fingerprint

    Assemble & verify descriptor

    • createmultisigdescriptor - descriptor-first utility function; P2WSH and P2TR script-path; sortedmulti, ranged, multipath descriptor.
    • interfaces::Wallet::analyzeDescriptor - preflight checks returning if wallet can sign, own slot, threshold, output type, cosigner fingerprints/paths, first address, checksum, (GUI-renderable script representation?)

    Import

    • #34861 - Add wallet interface for importDescriptors
    • #35377 - import a public multisig descriptor into a wallet that holds one of the keys
      • Label the imported descriptor - To be shown at the time of spending

    See also

  2. willcl-ark added the label GUI on Jul 2, 2026
  3. willcl-ark added the label Wallet on Jul 2, 2026
  4. willcl-ark added the label Tracking Issue on Jul 2, 2026
  5. Sjors commented at 11:52 AM on July 3, 2026: member

    I think a good intermediate step would be to have a Python based multisig (setup) wizard, that would perform the same steps you have in mind for the GUI.

  6. pinheadmz commented at 3:05 PM on August 3, 2026: member

    Concept ACK, will be tracking progress and reviewing what I can.

  7. PraneethGunas commented at 4:55 AM on September 1, 2026: none

    Hi @pseudoramdom, please add the following items to support external signers in the flow, once the gist is updated.

    Prerequisites

    • Fetch an account xpub from a device at a chosen (BIP-87) path - needs getxpub on ExternalSigner, exposed through interfaces::ExternalSigner
    • #35377

    Add keys & collect Keys

    • Fall back to the device in deriveHDKey - derive from the wallet's own key first, then ask the signer if one is configured, then fail

    Assemble & verify descriptor

    • Fix walletdisplayaddress for multisig - send the SPKM's own descriptor to the device instead of inferring one from the scriptPubKey

    Happy to update the flow if this has any unintended side effects

  8. Sjors commented at 7:36 AM on September 1, 2026: member

    needs getxpub on ExternalSigner

    Seems fine to add, but a Python script proof-of-concpet can just call getxpub on HWI directly.

    Fix walletdisplayaddress for multisig

    #36133 is a prerequisite for that, plus support for the new registerpolicy HWI command (and passing the registration to signing / display address)


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-09-04 10:51 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me