Crypto glossary

PayJoin (P2EP)

Definition

PayJoin is a Bitcoin payment in which the receiver also adds an input, so the transaction breaks the heuristics chain analysts use to identify owners.

In a normal payment, all inputs come from the sender, and analysts assume they share an owner. In a PayJoin, also called pay-to-endpoint, the sender and receiver cooperate: the receiver contributes one of their own UTXOs as an input and receives it back plus the payment in one output. The result looks like an ordinary transaction, but the common-input assumption is now wrong and the real payment amount is hidden.

PayJoin was standardised in BIP-78, which requires the receiver to run a server endpoint, and a newer asynchronous version in BIP-77 removes the need to be online at the same time. Wallets such as BTCPay Server, Sparrow and others support it. Because PayJoins are indistinguishable from normal payments, even modest adoption can weaken assumptions that analytics firms apply across the whole chain.

Adoption has been slow because both parties need compatible software and the receiver must have a spendable UTXO. It improves privacy for a single payment rather than mixing coins, and it does not hide that a transaction occurred. As with other privacy tools, poor handling afterwards can still reveal links.

Example

A customer pays a BTCPay Server store 0.01 BTC using PayJoin; the store adds its own 0.05 BTC input, so observers see 0.06 BTC of inputs from what looks like one owner and misjudge the amount paid.

Related terms