I am trying to fund transaction with watch-only addresses:

$ bitcoin-cli getbalance '' 1 true

$ bitcoin-cli createrawtransaction '[]' '{"3Qxjvxyg9Pf67JU9MBNKVpJQ9rmALVnjt3":0.00001}'

$  bitcoin-cli fundrawtransaction 020000000001e80300000000000017a914ff4432c8022b550a66b4c0a9c398962c3723ba278700000000 '{"includeWatching" : true}'
error code: -4
error message:
Insufficient funds

The idea is to sing the transaction later on different offline wallet.

Is this possible?

I can not use 'fundrawtransaction' directly on offline wallet, because it is offline and have no blockchain downloaded.


yes, I know about potential problems with fee and change address. I am currently exploring possibilities.

  • 1
    For fundrawtransaction to work, you need more than just a watch-only address, as it needs to be able to predict the witness size needed to spend them. If you use importaddress or importmulti with just an address, this is not possible. If you use importpubkey or importmulti with full keys/scripts, or with a descriptor, it will. You can test this by checking getaddressinfo on the addresses that the coins are currently assigned to. – Pieter Wuille Sep 1 '19 at 17:31
  • I also noticed I can not sign transaction if blockchain is not synchronized – Nick Sep 2 '19 at 9:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.