Bitcoin Book of BIPs

Paying People

An address is enough to send coins, but it is a blunt instrument. This chapter is the rest of the payment stack: how a merchant once asked for a signed payment request, how two wallets can cooperate on a payjoin, how a recipient can publish a silent-payment scan key instead of a fresh address, and how DNS can carry those instructions under a human-readable name.

BIP 70 through 75 are the old payment protocol — protobuf invoices, MIME types, URI extensions, and encrypted out-of-band exchange. They shipped, they are still in the archive, and most wallets have moved on. I kept them because they are complete specifications and because later payment designs are easier to understand as reactions to them.

The newer documents are the ones wallets are implementing now. BIP 78 is payjoin. BIP 47 is reusable payment codes: one published code, many on-chain addresses. BIP 352 is silent payments, a later answer to the same problem. BIP 353 puts payment instructions in DNS. BIP 327 is MuSig2, which is how several signers produce one Schnorr signature. BIP 137 and BIP 322 are how you prove you hold a key without moving coins — the first for the legacy message format, the second for a generic signed message that works with modern scripts.

In this chapter:

  BIP: 70
  Layer: Applications
  Title: Payment Protocol
  Authors: Gavin Andresen <gavinandresen@gmail.com>
           Mike Hearn <mhearn@bitcoinfoundation.org>
  Status: Deployed
  Type: Specification
  Assigned: 2013-07-29