<p>Given just a signed transaction, it is difficult to extract all of the data in the scriptSig or scriptWitness into PSBT's input fields. This requires having the UTXO and then interpreting and executing the script which is not necessarily available to bitcoind instance doing the conversion.</p>

<p>Additionally, signed network serialized transactions are not necessary fully signed, they could be partially signed in the way that the raw transaction RPCs do it. This makes it even more difficult to extract that information.</p>

<p>Lastly, a PSBT is far more mutable than a network serialized transaction. It can change afterwards which can invalidate signatures.</p>

<p>So instead, we decided to disallow signatures to avoid the possibility of putting incorrect and/or invalid data in a PSBT during the conversion.</p>

CC BY-SA 4.0
2019-06-07T11:15:59.517Z
2019-06-07T11:15:59.517Z
Ava Chow
<p>In the bitcoin core <a href="https://bitcoin.org/en/developer-reference#converttopsbt" rel="nofollow noreferrer">doc</a> is explicitly said that conversion from hex to psbt are only allowed for unsigned transactions, or, at most, passing a signed one with the <code>permitsigdata</code> param set to <code>true</code>, but again it returns the related unsigned tx.</p>
<blockquote>
<p>The converttopsbt RPC converts a network serialized transaction to a PSBT.</p>
<p>This should be used only with createrawtransaction and fundrawtransaction createpsbt and walletcreatefundedpsbt should be used for new applications.</p>
</blockquote>
<p>Why signatures aren't allowed/considered while converting?</p>

<bip174-psbt>
Why is not possibile to convert a signed transaction into psbt?
altafan
# Why is not possibile to convert a signed transaction into psbt?

(Asked by: username_0 on 2019-06-07)

In the bitcoin core [doc](https://bitcoin.org/en/developer-reference#converttopsbt) is explicitly said that conversion from hex to psbt are only allowed for unsigned transactions, or, at most, passing a signed one with the `permitsigdata` param set to `true`, but again it returns the related unsigned tx.

> The converttopsbt RPC converts a network serialized transaction to a PSBT.
>
> This should be used only with createrawtransaction and fundrawtransaction createpsbt and walletcreatefundedpsbt should be used for new applications.

Why signatures aren't allowed/considered while converting?

**Tags:** bip174-psbt


---

## 1 answers

### Answer by username_1 on 2019-06-07. Score: 2

Given just a signed transaction, it is difficult to extract all of the data in the scriptSig or scriptWitness into PSBT's input fields. This requires having the UTXO and then interpreting and executing the script which is not necessarily available to bitcoind instance doing the conversion.

Additionally, signed network serialized transactions are not necessary fully signed, they could be partially signed in the way that the raw transaction RPCs do it. This makes it even more difficult to extract that information.

Lastly, a PSBT is far more mutable than a network serialized transaction. It can change afterwards which can invalidate signatures.

So instead, we decided to disallow signatures to avoid the possibility of putting incorrect and/or invalid data in a PSBT during the conversion.


---

