<p>Both P2PK and SIGHASH_SINGLE are still consensus valid and accepted by Bitcoin Core's default mempool policy. SIGHASH_SINGLE was even included in the Taproot soft fork for use in signatures in a Taproot spend.</p>
<p>As for using these, <a href="https://github.com/petertodd/python-bitcoinlib" rel="nofollow noreferrer">python-bitcoinlib</a> provides enough low level utilities that you can create and spend P2PK outputs and create SIGHASH_SINGLE signatures.</p>
<hr />
<blockquote>
<p>p2pk addresses</p>
</blockquote>
<p>There is no such thing as a P2PK address. They do not have an address type. You can create P2PK outputs, but there is no address type for instructing other people to create P2PK outputs that you can spend.</p>

CC BY-SA 4.0
2023-08-04T20:00:22.240Z
2023-08-04T20:00:22.240Z
Ava Chow
<p>Seems like p2pk - pay to public key may be working or not in modern wallet apps. Is it still working or not?</p>
<p>EDIT: Can old p2pk addresses be used to move balance to new addresses (for example bc1q...)?</p>
<p>The same about SIGHASH_SINGLE - is there any Python library that supports this hash type today?</p>
<p>EDIT: And is there wallet app which supports it currently?</p>

CC BY-SA 4.0
2023-08-04T18:51:45.330Z
Can you clarify what you mean by "working"?
Ava Chow
<signature><p2pk><sighash>
Do p2pk and SIGHASH_SINGLE still working nowadays?
pbies
# Do p2pk and SIGHASH_SINGLE still working nowadays?

(Asked by: username_0 on 2023-08-04)

Seems like p2pk - pay to public key may be working or not in modern wallet apps. Is it still working or not?

EDIT: Can old p2pk addresses be used to move balance to new addresses (for example bc1q...)?

The same about SIGHASH\_SINGLE - is there any Python library that supports this hash type today?

EDIT: And is there wallet app which supports it currently?

**Tags:** signature, p2pk, sighash

> **Comments:**
> **username_1**: Can you clarify what you mean by "working"?  

---

## 1 answers

### Answer by username_1 on 2023-08-04. Score: 2 | Accepted answer

Both P2PK and SIGHASH\_SINGLE are still consensus valid and accepted by Bitcoin Core's default mempool policy. SIGHASH\_SINGLE was even included in the Taproot soft fork for use in signatures in a Taproot spend.

As for using these, [python-bitcoinlib](https://github.com/petertodd/python-bitcoinlib) provides enough low level utilities that you can create and spend P2PK outputs and create SIGHASH\_SINGLE signatures.

---

> p2pk addresses

There is no such thing as a P2PK address. They do not have an address type. You can create P2PK outputs, but there is no address type for instructing other people to create P2PK outputs that you can spend.


---

