What is descriptor wallet?

A wallet defined by a written formula that states exactly which keys and script types produce its addresses, rather than by an opaque internal key list.

Not yet verifiedHow we verify

3 min read

In this entry

A wallet defined by a written formula that states exactly which keys and script types produce its addresses, rather than by an opaque internal key list.

A descriptor names the derivation path, the script type, and the keys involved, with a checksum, so a backup describes how to rebuild the wallet and not just the secret behind it. Bitcoin Core uses output descriptors internally to track the sets of outputs belonging to a wallet, and the checksum is eight alphanumeric characters designed to catch transcription errors (source: the Bitcoin Core output descriptors documentation).

The problem this solves is quiet and expensive. A seed phrase alone can be ambiguous, because two wallets can derive completely different addresses from the same phrase, and for multisig a phrase is not sufficient on its own at all.

How it works

A seed phrase produces a master key. Turning that master key into addresses requires further choices: which derivation path, which script type, and in a multisig, which other keys and in what order. Wallet software makes those choices for you and does not always record them anywhere you can read.

A descriptor writes them down explicitly. It states the script type as a function wrapping the keys, includes key origin information such as the master fingerprint and derivation path, and ends with a checksum. Restoring from a descriptor is unambiguous, because there is nothing left for the restoring software to guess.

For single-signature wallets this is a convenience that removes a recovery headache. For multisig it is a requirement. A 2-of-3 multisig cannot be reconstructed from two seed phrases alone, because you also need the third key's extended public key, the script type, and the key ordering. Losing that information can leave funds visible on chain and unspendable.

Descriptors contain public keys in their normal form, so a descriptor is not a secret in the way a seed phrase is. It is still privacy-sensitive, because it reveals every address the wallet will ever generate. See xpub.

Example

Illustrative. You set up a 2-of-3 multisig across three hardware wallets and write down all three seed phrases. Two years later one device fails. You have two phrases, which should be enough to sign, and you cannot rebuild the wallet, because you do not have the third device's extended public key or a record of the exact script type and key order. Had you also backed up the descriptor, restoration would be a single paste into compatible software, and the two remaining phrases would sign as intended.

Why it matters when you buy

If you buy with the intention of holding in self-custody, the backup is the part that actually determines whether the coins survive, and it is the part most people finish least carefully. Back up the descriptor alongside the phrase, especially for anything beyond a single-signature wallet. Multisig basics and seed phrase backup methods cover the practice.

seed phrase — the secret a descriptor complements; multisig — where a descriptor is mandatory; xpub — the extended public key a descriptor contains; hd wallet — the derivation scheme underneath; watch only wallet — what a descriptor without private keys creates.

Questions

Do I need a descriptor for a normal wallet?

For a single-signature wallet from a mainstream vendor, the phrase plus knowing which wallet you used is usually enough. The descriptor removes the ambiguity entirely, which matters most when you are recovering years later into different software.

Is a descriptor secret?

It contains public keys rather than private ones, so it cannot spend your funds. It does reveal every address your wallet will use, so treat it as private for privacy reasons rather than as a spending secret.

Which wallets support them?

Bitcoin Core uses descriptors natively, and a number of Bitcoin wallets and multisig coordinators import and export them. Support outside Bitcoin is limited, since the format is specific to Bitcoin's script model.