<p>Using a tool like <code>bx</code> (Bitcoin Explorer) from Libbitcoin. This tool allows you to perform Bitcoin operations directly from the command line.</p>
<ol>
<li><p><strong>Install Libbitcoin BX:</strong></p>
<ul>
<li>You can find the installation instructions on the Libbitcoin GitHub repository: <a href="https://github.com/libbitcoin/libbitcoin-explorer" rel="nofollow noreferrer">Libbitcoin GitHub</a>.</li>
</ul>
</li>
<li><p><strong>Create Multisig Address:</strong></p>
<ul>
<li>Assuming you have three private keys (<code>privkey1</code>, <code>privkey2</code>, <code>privkey3</code>), you can use <code>bx</code> to create a 2-of-3 multisig address:
<pre class="lang-bash prettyprint-override"><code>bx seed | bx hd-new | bx hd-private -i 44 | bx hd-private -i 0 | bx hd-private -i 0 | bx hd-private -i 0 | bx hd-private -i 0 | bx hd-public | bx hd-to-ec | bx ec-to-wif
</code></pre>
</li>
</ul>
</li>
<li><p><strong>Get Public Keys:</strong></p>
<ul>
<li>Obtain the public keys corresponding to the private keys:
<pre class="lang-bash prettyprint-override"><code>bx ec-to-public -u [private key]
</code></pre>
</li>
</ul>
</li>
<li><p><strong>Create Multisig Script:</strong></p>
<ul>
<li>Use the public keys to create the multisig script:
<pre class="lang-bash prettyprint-override"><code>bx script-encode [public key 1] [public key 2] [public key 3] 3 checkmultisig
</code></pre>
</li>
</ul>
</li>
<li><p><strong>Get Multisig Address:</strong></p>
<ul>
<li>Generate the multisig address from the script:
<pre class="lang-bash prettyprint-override"><code>bx script-to-address -v [network version] -s [multisig script]
</code></pre>
</li>
</ul>
</li>
</ol>
<p>Replace placeholders like [private key], [public key 1], [network version], etc., with your actual values.</p>
<p>Please note that this is a simplified guide, and it's crucial to take precautions when dealing with private keys. Always make sure to perform these operations in a secure environment and keep your private keys confidential.</p>
<p>Additionally, it's highly recommended to test the process with a small amount of Bitcoin before using it with significant funds.</p>

CC BY-SA 4.0
2023-10-10T08:24:19.023Z
2023-10-10T08:24:19.023Z
Mani T
<p>I have a hardware wallet, a seed, and a specific private key.</p>
<p>I want to create a 2-of-3 multisig using these 3 items. So the only option left is the option of creating a multisig using just private keys, but it's only available on bitcoin core, I'd like to do this without having to download the entire blockchain, and be able to spend it easily in the future. Electrum doesn't allow me to import just a private key, then there's the issue of getting it out of the hardware wallet. How can I do this?</p>

<bitcoin-core><electrum><multi-signature><address-generation><hardware-wallet>
Create a 2-3 multisig address without syncing entire blockchain
Igzo
# Create a 2-3 multisig address without syncing entire blockchain

(Asked by: username_0 on 2022-01-17)

I have a hardware wallet, a seed, and a specific private key.

I want to create a 2-of-3 multisig using these 3 items. So the only option left is the option of creating a multisig using just private keys, but it's only available on bitcoin core, I'd like to do this without having to download the entire blockchain, and be able to spend it easily in the future. Electrum doesn't allow me to import just a private key, then there's the issue of getting it out of the hardware wallet. How can I do this?

**Tags:** bitcoin-core, electrum, multi-signature, address-generation, hardware-wallet


---

## 1 answers

### Answer by username_1 on 2023-10-10. Score: 1

Using a tool like `bx` (Bitcoin Explorer) from Libbitcoin. This tool allows you to perform Bitcoin operations directly from the command line.

1. **Install Libbitcoin BX:**

   * You can find the installation instructions on the Libbitcoin GitHub repository: [Libbitcoin GitHub](https://github.com/libbitcoin/libbitcoin-explorer).
2. **Create Multisig Address:**

   * Assuming you have three private keys (`privkey1`, `privkey2`, `privkey3`), you can use `bx` to create a 2-of-3 multisig address:

     ```bash
     bx seed | bx hd-new | bx hd-private -i 44 | bx hd-private -i 0 | bx hd-private -i 0 | bx hd-private -i 0 | bx hd-private -i 0 | bx hd-public | bx hd-to-ec | bx ec-to-wif

     ```
3. **Get Public Keys:**

   * Obtain the public keys corresponding to the private keys:

     ```bash
     bx ec-to-public -u [private key]

     ```
4. **Create Multisig Script:**

   * Use the public keys to create the multisig script:

     ```bash
     bx script-encode [public key 1] [public key 2] [public key 3] 3 checkmultisig

     ```
5. **Get Multisig Address:**

   * Generate the multisig address from the script:

     ```bash
     bx script-to-address -v [network version] -s [multisig script]

     ```

Replace placeholders like [private key], [public key 1], [network version], etc., with your actual values.

Please note that this is a simplified guide, and it's crucial to take precautions when dealing with private keys. Always make sure to perform these operations in a secure environment and keep your private keys confidential.

Additionally, it's highly recommended to test the process with a small amount of Bitcoin before using it with significant funds.


---

