BIP-322

Also: generic message signing

cryptography · advanced

A standard for cryptographically signing arbitrary messages with any Bitcoin address — including bech32 and Taproot, which the legacy message-signing scheme didn't support.

Before BIP-322, "message signing" worked only for legacy P2PKH addresses ("1..."). The original Satoshi-era scheme assumed a single public key, which doesn't generalize to script-based addresses like P2SH, P2WSH, or Taproot.

BIP-322 (Karl-Johan Alm, 2018, finalized 2022) reframes message signing as a transaction: sign a synthetic spend that consumes a virtual UTXO scripted to your address. Verification re-runs the same logic. The scheme works uniformly across every address type, including multisig — a 2-of-3 vault can prove ownership of an address by collecting two of three signatures.

Uses include proof-of-reserves attestations by exchanges, signature-based authentication for Bitcoin-aware services, and provable claims like "I controlled this address on this date." Adoption is gradual but Sparrow, Trezor, Coldcard, and Bitcoin Core 25.0+ all support it.

Related terms