<p>Bitcoin Core requires the additional data so that it can estimate the size of the final transaction when it is choosing which inputs to spend. It is probable that Electrum makes assumptions about the size because it is standard, however Bitcoin Core does not do that. Instead it will make a fake scriptSig/witness to determine the size of the input, and doing that requires knowing public keys and other information provided in descriptors.</p>

CC BY-SA 4.0
2022-02-17T07:14:25.560Z
Does it need to know the size due to fee calculation? Or is there another reason I am unaware of? I would like to use BitcoinCore exclusively while avoiding to expose the public key in a hot wallet (so that its also protected by hashing). Is importing a descriptor safer than importing a public key?
David
CC BY-SA 4.0
2022-02-17T16:13:43.950Z
It needs to know the size in order to perform the fee calculation.
Ava Chow
CC BY-SA 4.0
2022-02-17T03:20:40.563Z
2022-02-17T03:20:40.563Z
Ava Chow
<p>When generating a .psbt it suffices to merely import the address (hashed Public Key) in Electrum while in BitcoinCore (for the same address) I also would have to import either a corresponding Public Key or Descriptor. Is there a reason why BitcoinCore requires these additional inputs and Electrum does not?</p>

<bitcoin-core><electrum><bip174-psbt>
Why is Electrum able to generate .psbt from the address only but BitcoinCore requires a Public Key/Descriptor?
David
# Why is Electrum able to generate .psbt from the address only but BitcoinCore requires a Public Key/Descriptor?

(Asked by: username_0 on 2022-02-16)

When generating a .psbt it suffices to merely import the address (hashed Public Key) in Electrum while in BitcoinCore (for the same address) I also would have to import either a corresponding Public Key or Descriptor. Is there a reason why BitcoinCore requires these additional inputs and Electrum does not?

**Tags:** bitcoin-core, electrum, bip174-psbt


---

## 1 answers

### Answer by username_1 on 2022-02-17. Score: 1 | Accepted answer

Bitcoin Core requires the additional data so that it can estimate the size of the final transaction when it is choosing which inputs to spend. It is probable that Electrum makes assumptions about the size because it is standard, however Bitcoin Core does not do that. Instead it will make a fake scriptSig/witness to determine the size of the input, and doing that requires knowing public keys and other information provided in descriptors.

> **Comments:**
> **username_0**: Does it need to know the size due to fee calculation? Or is there another reason I am unaware of? I would like to use BitcoinCore exclusively while avoiding to expose the public key in a hot wallet (so that its also protected by hashing). Is importing a descriptor safer than importing a public key?  
> **username_1**: It needs to know the size in order to perform the fee calculation.  

---

