# Social / P2P Payjoin A payjoin is a type of coinjoin which is just between 2 parties. The sender and receiver both add their inputs and outputs and sign the transaction. This interaction results in a transaction that makes it difficult to fingerprint the transaction and determine which direction the payment is being made. It looks like any normal transaction. ![](https://i.imgur.com/7S8skg3.jpg) This provides a “cheap” way to confuse outside observers about the direction of the payment. Who is sending to who? Payjoins are mostly used by online merchants. Since both the sender and reciver both need to collaborate on a payjoin transaction. Your wallet will handle this in the background by connecting to the merchants server to do the exchange of the transaction file. In a social peer-to-peer setting the sender and reciever probably don’t have a server setup how do they do this exchange? ## Design Challenge Given a form of wallet to wallet communication implemented through contacts, how might we enable two parties to create a payjoin transaction in the most seamless way? The opportunity is to have them having exchange partially transaction files, and arbitrary messages back and forth with one another. ## REF - https://github.com/peakshift/bitcoin-ux/blob/03ef3f2ffffa5a1de0bdc8dfefa987f3d240642e/bip78-adapted.md