> ## Documentation Index
> Fetch the complete documentation index at: https://help.hoseki.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Multisig wallets

> Track a multisig wallet and verify it with your signing keys.

Track a multisig wallet from its **descriptor**. No funds move. Your custody does not change.

> [!TIP]
>
> Only want to watch the balance? You don't need any signing devices. Select **Add Account** → **Track Balance, ETF, or xpub** → **xpub or Descriptor** and paste the descriptor. The wallet shows as **Unverified** and stays off statements. See [Track a wallet](https://help.hoseki.app/bitcoin-control-center/accounts/xpub-and-descriptors.md#track-a-wallet).

## What you need

* Your wallet's descriptor file, or the descriptor text.
* Enough signing devices to meet your quorum. A 2-of-3 wallet needs 2 keys.
* Supported signing devices: Ledger, Trezor, COLDCARD, Keystone.

### Why only these devices

Most wallets can't yet sign a message for a multisig address. The standard for that is called BIP-322.

So Control Center verifies multisig its own way. Each key signs the message separately, from its own single-key address. Control Center then checks that each signing key belongs to your multisig wallet.

This only works with devices Control Center can connect to directly: Ledger, Trezor, COLDCARD, and Keystone. We're working to add more.

> [!NOTE]
>
> A key held in another device or app can still be part of your wallet. You just need enough supported devices among your keys to meet your quorum.

### Where to get the descriptor

Control Center reads these formats:

| Format | Comes from |
| - | - |
| A single descriptor line, such as `wsh(sortedmulti(2,…))` | Sparrow, Nunchuk, and most coordinators. Copy and paste it. |
| Wallet configuration `.json` | Unchained / Caravan, Specter Desktop, Electrum |
| Generic multisig setup `.txt` (Name, Policy, Derivation, Format) | COLDCARD, BlueWallet, Sparrow |
| Descriptor export `.txt` | Bitcoin Core |

Step-by-step for Sparrow, Nunchuk, and BlueWallet: [Export a multisig wallet](https://help.hoseki.app/bitcoin-control-center/wallet-guides/export-multisig.md).

Supported script types: `wsh(...)`, `sh(wsh(...))`, and `sh(...)` with `multi` or `sortedmulti`. Mainnet only.

To verify, enough keys to meet your quorum must include their origin, such as `[a1b2c3d4/48'/0'/0'/2']xpub…`. Exports from the apps above include it. Without it you see a message ending **…keystores have derivation paths…**. You can still [track](https://help.hoseki.app/bitcoin-control-center/accounts/xpub-and-descriptors.md) the wallet.

> [!WARNING]
>
> Never upload a file that contains a seed phrase or private key. An upload it can't read shows "Invalid file. Please check your file and try again." Control Center also refuses any private key, such as an `xprv`. See [Pasted a private key?](https://help.hoseki.app/bitcoin-control-center/accounts/xpub-and-descriptors.md#pasted-a-private-key)

## Add a multisig wallet

**1. Start**

Select **Add Account** → **Multisig**. Select **Next**.

![Connect Your Multisig Wallet introduction screen](https://mintcdn.com/hoseki-corp/UfUbkRUza9CJFqpH/images/accounts-multisig-intro.png?fit=max\&auto=format\&n=UfUbkRUza9CJFqpH\&q=85\&s=e32965fd56ac3353ce2f7f818cf06ef9)

What the multisig setup involves.

**2. Upload the descriptor**

Drop the `.txt` or `.json` file. Or open **Paste Your Multisig Descriptor**, paste it, and select **Verify Descriptor**.

![Upload Your Multisig Descriptor screen with a file drop zone](https://mintcdn.com/hoseki-corp/UfUbkRUza9CJFqpH/images/accounts-multisig-upload.png?fit=max\&auto=format\&n=UfUbkRUza9CJFqpH\&q=85\&s=e5897bf152932b83d6d5a24e670bbf78)

Upload a file or paste the descriptor.

**3. Name it**

Control Center shows the quorum it found, such as "2 of 3". Enter a name. Select **Next**.

**4. Connect and sign with each key**

You only need as many keys as your quorum, such as 2 of 3.

![Select a Signing Device screen with Trezor, Ledger, COLDCARD, and Keystone](https://mintcdn.com/hoseki-corp/Xp9pk49cGAID_gA6/images/accounts-multisig-select-device.png?fit=max\&auto=format\&n=Xp9pk49cGAID_gA6\&q=85\&s=7a6f68f44740d3b9834c905b2622d66c)

Pick any of your keys' devices first.

1. On **Select a Signing Device**, pick the device for any one of your keys.
2. Connect it. Select **Check Now**. Control Center checks the device holds one of this wallet's keys.
3. On **Wallet Identified**, enter a **Name** for this key. It can't be empty. Select **Continue**.
4. Sign the message on the device.

**Device already signed**? That key is done. Use a different device.

After a key signs, you see **First Key Verified!** (then **Second**, and so on). Select **Verify Next Key**.

Repeat until you meet your quorum. You can use the keys in any order. After the last key, you see **Multisig Verified!**

## Key statuses

Each key has an avatar at the top of the wallet page.

| Status | Meaning |
| - | - |
| Pending | No device connected yet. |
| Identified | Device matched, not signed yet. Select **Continue**. |
| Verified | Signed. |

When enough keys are verified, the wallet becomes **verified**.

## Device notes

* **"Not a match"** means the device's key isn't in this descriptor. Check you picked the right device, passphrase, and account.
* **"Unusual derivation path"** warnings on the device are normal. Each key signs with its own simple address.
* **Trezor** can't sign for keys on `m/45'` or custom paths. Use another device for those keys.
* **Replace a device:** on an identified key, select **Replace this device?** → **Connect New Device**.

After it's verified, select any key avatar to see its details or rename it.

> [!TIP]
>
> Delete the descriptor file from your computer when you finish. It reveals all your addresses.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.