Skip to main content

Questions tagged [output-script-descriptors]

Filter by
Sorted by
Tagged with
6 votes
1 answer
38 views

How can I verify that a PSBT is solvable by a specific descriptor?

As the title suggests I would like to check whether a specific PSBT is associated with a specific descriptor, either manually or using bitcoin-cli or bdk-cli. I'm more concerned about static ...
max's user avatar
  • 235
2 votes
1 answer
106 views

why i can't get the xprv descriptor from the bitcoin-cli listdescriptors true

If I use the listdescriptors true command, I only receive values like (pkh, sh, tr, wpkh). Did I do something wrong?
N.dhanush raj's user avatar
1 vote
2 answers
276 views

Import WIF key for P2PKH into Bitcoin Core descriptor wallet

Can someone create a step by step, how to import a legacy P2PKH WIF key on testnet (let's say cSTHGbKgKLCGDRRn5AgtS7L4KHkqmdBau4nsEw8ckAzXV784bgeR) into Bitcoin Core 25.1 descriptor wallet using the ...
Michel van Kessel's user avatar
2 votes
2 answers
150 views

How to backup a descriptor wallet in bitcoin core?

I know we can do this by menu "File - Backup", but how can we get the private key of the address(or something else we can restore wallet) then write it down or print it out?
foolbear's user avatar
  • 160
2 votes
1 answer
110 views

How do I use descriptors to put an ancient priv-key into a newly created wallet.dat file?

Running bitcoin core 26.0 on debian 12. I want to put an ancient priv-key into a newly created wallet.dat file. First, I'll do a test run: $ bitcoin-cli createwallet test $ bitcoin-cli loadwallet /...
Lilacrail's user avatar
  • 141
6 votes
1 answer
128 views

Is there any point in including XPUB fingerprints in wallet descriptors?

Consider these descriptors: 1: pk(xpub68Enqrw9EMhovqR93YKMGJ67JiNqVkMxggjzJY3ijcJmFv4TSBqUXg94GXN4UCEop1MAmUUucDzUphakwFQy8Da8ENoiz7cBRA2P11GeKVU)#rrz9d6nw 2: pk([b3d53e5f]...
torkel's user avatar
  • 446
2 votes
1 answer
56 views

Importdescriptors not working (JSON parsing error)

I have been trying to setup a watch-only wallet on Bitcoin Core using the importdescriptors command. To put this into context, I'm trying to use the watch-only wallet on my online machine to create ...
MostlypeacefulBitcoin's user avatar
0 votes
0 answers
47 views

Export a taproot multisig wallet

I have created a wallet, added a descriptors to make it multisig with tr(KI, multi_a(2,pub1,pub2,pub3) command. Now, I want to import this to some UI but since the wallet doesn't have a private key I ...
Shadow's user avatar
  • 9
0 votes
0 answers
40 views

Understanding signrawtransactionwithwallet and the Transaction Signing Process

I would like to understand all the advantages of a descriptor wallet. I comprehend that the wallet safeguards the user by not exposing the private key. However, when I use bitcoin-cli listdescriptors ...
monkeyUser's user avatar
1 vote
1 answer
81 views

Why do PSBT and Descriptor enforce providing the BIP32 derivation path from the root?

Let's consider a scenario: I have a master xprv named xprv1, and I derived an xprv named xprv2 at m/99/88h. Now, I want to use xprv2 to create a new multi-sig wallet, intending to use m/99/88h/0/* as ...
solar's user avatar
  • 25
1 vote
0 answers
94 views

Cannot import multisignature descriptor in Bitcoin Core

I created a multisignature address in regtest: ADDR_1=`bitcoin-cli getnewaddress "" "bech32"` ADDR_2=`bitcoin-cli getnewaddress "" "bech32"` PB1=$(bitcoin-cli -...
monkeyUser's user avatar
0 votes
1 answer
78 views

descriptor and Custom script

I have a Multisignature address 1-3 with a verification of OP_3, just a simple script to understand custom scripts in Bitcoin Script definition #OP_1 <Public Key> <Public Key> <Public ...
monkeyUser's user avatar
0 votes
0 answers
42 views

Sign a multi-signature transaction with imported address

I have an address with three compressed public keys: SCRIPT="5221"$(cat compressed_public_key_1.txt)"21"$(cat compressed_public_key_2.txt)"21"$(cat ...
monkeyUser's user avatar
0 votes
1 answer
211 views

Importaddress and migrate to descriptor

I created a script for studying purposes, generating a private key, a public key, and a P2SH address with a redeem script and RIPEMD160. I stored the address string in address_P2SH.txt. I updated ...
monkeyUser's user avatar
3 votes
2 answers
160 views

Which hardware wallets require importation of PSBT for knowledge of multisig set up?

My understanding of a multi-vendor multisig is that certain wallets require importation of the resultant multisig wallet's PSBT information in order to sign multisig transactions. Coldcard's ...
Runeaway3's user avatar
  • 329
0 votes
2 answers
176 views

Import old paper backup (WIF private key) into modern Bitcoin-QT

When trying to import a WIF private key into Bitcoin-QT i get this error: Only legacy wallets are supported by this command (code -4) How can one import a private key on a non-legacy wallet?
Ken's user avatar
  • 1
1 vote
1 answer
111 views

Get utxos for an address without rescanning the whole chain

In order to gather the utxos for an address importdescriptors will rescan the blockchain. Is there another way to get all the utxos for an address / descriptor without having to rescan the block chain?...
Topman's user avatar
  • 11
1 vote
0 answers
37 views

Address watcher with BDK/Rust

I'm trying to implement (multiple) address watcher in BDK/Rust. I'm having trouble doing this for an arbitrary address, because BDK and rust-miniscript don't support "addr()" expressions in ...
jurglic's user avatar
  • 111
0 votes
1 answer
61 views

Why timestamp mandatory on importdescriptors?

Stemming from How can a private key be imported to a descriptor wallet? (comment), can't really understand how timestamp is a mandatory argument. Every elements in a descriptor have an activation date....
Mercedes's user avatar
  • 802
0 votes
1 answer
66 views

Why is `getdescriptorinfo` saying an xpub is not valid?

I'm testing this with the examples provided here. More specifically this one: wsh(sortedmulti(1,...
Bilthon's user avatar
  • 247
0 votes
1 answer
99 views

Bitcoin Core RPC cURL - importdescriptors failing on loaded wallet

I am running the following request to load a wallet. curl --location 'user:[email protected]:8332/wallet/test_multisig"' \ --header 'Content-Type: text/plain' \ --data '{ "jsonrpc&...
Joe's user avatar
  • 113
0 votes
0 answers
95 views

Bitcoin core cli importdescriptors (miniscript)

I created a miniscript descriptor and wanted to see how it looked like in core(testnet). So i ran: importdescriptors "[{"desc": "wsh(or_d(pk([658b6bd9/44'/1'/0'/0]...
Jim Quick's user avatar
1 vote
1 answer
181 views

bitcoin-cli WIF from xpriv, descriptor outputs clarity

Questions Is it possible for the bitcoin-cli command to extract WIFs from a ranged descriptor with a derivation path? If a descriptor is ranged it must have a xpriv key? If a descriptor has a xpriv ...
Michael Tidwell's user avatar
3 votes
1 answer
223 views

How do descriptors work with miniscript in the library bitcoinerLab?

What I want is to be able to spend the funds from an address, either with its private key or with the private key of another address that I designate in the policy. As I understand it, it works like ...
Chupitastiiks's user avatar
5 votes
1 answer
84 views

Error when doing a getdescriptorinfo on a Miniscript descriptor (V24.0.1)

I'm trying to play around with miniscript and import them into Bitcoin Core v24.0.1. I created the following descriptor in https://miniscript.fun and tried to validate it in Bitcoin Core bitcoin-cli ...
francois's user avatar
  • 103
2 votes
1 answer
116 views

The hardened character does not work directly with bitcoin core importdescriptors RPC

When I importdescriptors to another bitcoin core wallet using the descriptor shown in the bitcoin core, the descriptor with hardened character can not used directly. example: importdescriptors '[{ &...
MonKong's user avatar
  • 53
1 vote
1 answer
117 views

Why listdescriptors yields different xpub keys for a brand new wallet in bitcoin core

I noticed that if I listdescriptors true immediately after creating a brand new wallet, it would list 8 descriptors that all use the same xprv key. However, listdescriptors false would list 8 xpub ...
Meglio's user avatar
  • 289
2 votes
1 answer
222 views

Does bitcoin core save the seed in a brand new descriptor wallet when it gets created?

When I create a brand new descriptor wallet in Bitoin Core 24.x, does it save the seed anywhere, and if so, can I export/import it? I understand that exporting descriptors only is not the same as ...
Meglio's user avatar
  • 289
1 vote
0 answers
78 views

Could the Bitcoin Core descriptor wallet recover and start spending UTXOs by only scanning the UTXO set?

In the case where you import a previously used BIP32 seed into a Bitcoin Core descriptor wallet, at the moment if I understand correctly, the only way to recover the UTXOs and spend them is by first ...
nolan's user avatar
  • 11
2 votes
0 answers
66 views

listdescriptors true fails after importing a 2-of-3 multisig descriptor (prv, pub, pub)

By deafult, in a newly created descriptor wallet that is not watch-only and not empty, listdescriptors true works and gives output. However, here is a scenario that breaks it: Get a new address in ...
Meglio's user avatar
  • 289
1 vote
1 answer
132 views

signrawtransactionwithwallet for a multisig-transaction, after getnewaddress

I created a descriptor wallet in bitcoin core 24. Next, I created a new address with using getnewaddress. I took pubkey of that address, and used it as one of the three pubkeys when generating a ...
Meglio's user avatar
  • 289
3 votes
1 answer
96 views

Error creating a Taproot descriptor with a single key as script path

I need to implement 1 of 2 multisig with P2TR. My friend's Bitcoin public key is 0374d5f29bc6c15066437856c512f7f9e5a14a1eb93cab2776d33b27b4103c62d8. My own Bitcoin public key is ...
Wei's user avatar
  • 51
3 votes
1 answer
144 views

Does Bitcoin Core version v22.0.0 support SLIP-0132?

Launched my own Bitcoin Core with regtest. Installed Specter and made it connect to that node. In Specter, I created a new bitcoin wallet, basing it on the bitcoin core hot wallet. In Specter, I ...
Meglio's user avatar
  • 289
2 votes
1 answer
913 views

How to import a descriptor into a wallet?

I am trying to import a descriptor into a blank wallet but I get a JSON parsing error. $ cli createwallet "test" false true "" false true $ cli -rpcwallet=test importdescriptors '[{...
Lepus Cyberneticus's user avatar
1 vote
0 answers
33 views

Descriptor Wallets are way more confusing than legacy [duplicate]

how do you dump backup into a json file? then how do you load the json file into backup? " How to create the descriptors wallet? createwallet("my_wallet", False, False, "", ...
bitcoin core nooob's user avatar
4 votes
1 answer
320 views

How to spend an imported rawtr() descriptor with bitcoin-cli?

I created a transaction that creates a taproot output that can be spent using the private key (KEY) corresponding to the taproot output key. Then I imported the WIF formatted private key into Bitcoin ...
raphjaph's user avatar
1 vote
0 answers
58 views

What are valid BIP32 version bytes in descriptors & optional key origin defaults?

BIP49 & BIP84 defined different BIP32 version bytes so that serialized xpubs start with ypub/zpub/upub/vpub. This led to some incompatibility in the past with wallets and libraries that used (or ...
landabaso's user avatar
  • 248
0 votes
1 answer
66 views

What determines if a descriptor can have ranges?

For example, an address for a simple P2SH script puzzle like x+5=6 will always be the same address, so my understanding is that should not be ranged. Where can I understand the general logic for ...
Bitcoin_1o1's user avatar
2 votes
1 answer
208 views

Minimum range when importing descriptors?

When importing descriptors with a range less than 1000, it seems to be ignored. Is this deliberate? I could‘t find anything about this in the docs. To reproduce, first, create an empty wallet: bitcoin-...
Andreas's user avatar
  • 23
2 votes
1 answer
531 views

Signing PSBTs to spend from Taproot multisig address

I created a 2-of-3 multisig taproot address by following the steps outlined by Pieter Wuille in this post using importdescriptorsand deriveaddresses. His steps worked perfectly, and I was able to ...
FractalEncrypt's user avatar
4 votes
1 answer
1k views

How do I create a taproot multisig address requiring 21 of 210 keys to spend?

I understand that prior to taproot activation, m-of-n multisig addresses had an "n" max limit of 20 keys. I also saw the 998/999 tapscript multisig transaction that recently caused issues ...
FractalEncrypt's user avatar
2 votes
1 answer
196 views

How to create a valid time locked descriptor?

I am attempting to bitcoin-cli getdescriptorinfo "wpkh([00000000/84h/1h/0h/2]tpubDECM3jqdpSiGU2mKmo6xXxxXwFcmz6fX9EHMV3zbTY236jYYK9tM57cRFWaHqNjLbqAy52P6wkyo9wCAnr4P7Q1hGGFnrW98LPLajXEZPez/35:...
Fontaine's user avatar
  • 466
0 votes
1 answer
329 views

Can I sign multisig transaction only with private key in a descriptor based wallet?

I created a multisig wallet using bdk. It seems to accept descriptor with owner wallet's private key and other participating wallet's public key. Is it possible to create a multisig wallet where only ...
Mohit Singh's user avatar
1 vote
1 answer
56 views

What's not standard in these descriptors?

In here, about these (indentation is mine): sh(wsh(multi(2, abcdef01/1'/1'/0/*, 23456789/1'/1'/0/*)))#abcdefgh sh(wsh(multi(2, abcdef01/1'/1'/1/*, 23456789/1'/1'/1/*)))#ijklmnop wsh(multi(2, ...
Mercedes's user avatar
  • 802
3 votes
1 answer
309 views

How to represent a taproot output with more than 2 scriptleaves as a descriptor?

I read in the Bitcoin Core doc an example of a taproot output descriptor with 2 script paths : tr(c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5,{pk(...
Sosthène's user avatar
  • 643
3 votes
2 answers
366 views

Why isn't it possible to add an OP_RETURN (or some arbitrary script) inside a taproot script path with a descriptor?

I'm reading the Bitcoin Core's descriptor documentation and I noticed that the raw() SCRIPT expression can only be used at descriptor top-level. Indeed when called with this descriptor ...
Sosthène's user avatar
  • 643
4 votes
2 answers
262 views

How many addresses can be generated from a ranged descriptor?

I'm trying to wrap my head around ranged descriptors. The docs in the bitcoin/bitcoin-repo says that a ranged descriptor can generate keys/address "in a configurable range (0-1000 by default)&...
max's user avatar
  • 235
5 votes
2 answers
3k views

How can a private key be imported to a descriptor wallet?

If the Bitcoin Core Wallet Migration Tool is supposed to be creating descriptors for sparse keys (as it's supposed to support pre deterministic wallets), then why doesn't Bitcoin Core allow using ...
Mercedes's user avatar
  • 802
4 votes
1 answer
2k views

Why can I not dump private keys from a descriptor wallet?

I created a new wallet in Bitcoin Core v23.x, as expected it created an empty wallet version 169900 descriptors true format sqlite. It seems it created 4 streams of 1000 keys each. Anyway I told it ...
Mercedes's user avatar
  • 802
4 votes
1 answer
398 views

Which wallets or libraries besides core support (or will support) P2TR descriptors?

I want to help test the WIP Bitcoin Dev Kit "Add support for Taproot and tr() descriptors", PR #593 against other implementations besides Bitcoin Core (already testing again Core 22.0). In ...
Not Mandatory's user avatar