Payjoin

  • Name: Payjoin
  • URL: https://payjoin.org/
  • Category: Bitcoin payment-batching protocol / privacy-preserving wallet interoperability standard / async payment-coordination infrastructure
  • Tags: bitcoin-ecosystem
  • Summary: Payjoin is payment plumbing, not a CoinJoin sidecar. Sender and receiver co-author the payment transaction, so the receiver can add inputs, break common-input-ownership heuristics, and sometimes save blockspace. The hard part now is deployment: whether BIP 77’s async directory path can get the protocol out of always-online-server purgatory.
  • What it does:
    • Lets a Bitcoin sender and receiver jointly construct a payment transaction so the receiver can add inputs or restructure outputs during the payment flow
    • Breaks standard blockchain heuristics around common input ownership and can also reduce fees by batching what would otherwise be separate transactions
    • Defines a simple Payjoin flow in BIP 78 using a BIP21 URI plus a pj= endpoint where a sender posts an original PSBT and receives a Payjoin proposal PSBT back
    • Defines an async Payjoin flow in BIP 77 that replaces the always-online receiver requirement with encrypted store-and-forward messaging through a directory server using OHTTP
    • Supports more practical wallet adoption through a public implementation ecosystem centered on Payjoin Dev Kit, reference CLI tooling, test fixtures, language bindings, and combined OHTTP relay/directory components
    • Positions itself as infrastructure that can improve ordinary onchain payments and augment Lightning-related funding flows rather than as a separate settlement network
  • Key claims:
    • The public site says Payjoin preserves privacy by breaking the most common method used to spy on bitcoin users, scales Bitcoin by settling many transactions at once with lower fees, and can augment Lightning channel-funding workflows
    • BIP 78 defines Payjoin as a protocol for two parties to negotiate a coinjoin transaction during a payment and explicitly targets common-input ownership plus other change-detection heuristics that leak wallet behavior
    • BIP 78 says the receiver presents a BIP21 URI with a pj= endpoint, the sender posts a finalized original PSBT, the receiver returns a signed proposal PSBT, and the sender validates, re-signs, and broadcasts the final transaction
    • BIP 77 says it is a backwards-compatible asynchronous version of Payjoin that replaces the public always-online receiver endpoint with an untrusted directory server, OHTTP-mediated messaging, and end-to-end encrypted payload exchange
    • BIP 77 explicitly says BIP 78’s synchronous public-server requirement has been a real barrier to wallet adoption, especially in mobile and web environments, which is a strong clue that Payjoin should be cataloged as evolving interoperability infrastructure rather than as a finished niche feature
    • The project FAQ says Payjoin works as a protocol on top of Bitcoin without consensus changes and identifies the lack of developer tooling plus the old always-online-server requirement as the main reasons wallet support has historically lagged
    • Payjoin’s useful contrast is upstream: it attacks common-input-ownership and change heuristics during ordinary payment construction instead of asking users to enter a separate coordinator-run mixing workflow later
    • The Rust-Payjoin README says the project implements both BIP 77 Async Payjoin and BIP 78 Simple Payjoin, plus the associated OHTTP relay and Payjoin Directory infrastructure, which shows the ecosystem is packaging operational coordination layers around the protocol rather than just publishing a spec
    • That same README describes Payjoin Dev Kit as the main library, includes a reference CLI, combined mailroom/directory tooling, test fixtures, and FFI bindings, reinforcing that the current Payjoin effort is a reusable wallet-integration stack
  • Whitepaper: No separate standalone Payjoin whitepaper or litepaper surfaced in this pass. The clearest current sources of truth were the official site, BIP 78, BIP 77, the project FAQ, and the Rust-Payjoin / Payjoin Dev Kit implementation materials; see ../whitepapers/payjoin-primary-sources-2026-05-03.md.
  • Sources:

Internal linkages