El mensaje se envuelve con el prefijo «Bitcoin Signed Message» y bytes de longitud, se calcula su doble hash SHA-256 y se firma con secp256k1; el verificador recupera la clave pública a partir de la firma, deriva la dirección del tipo que indica el encabezado y la compara con la dirección declarada. Las firmas se intercambian en base64.
Desciende de signmessage de Bitcoin Core, que solo admite P2PKH, y los rangos de encabezado de SegWit nunca se implementaron de forma coherente: algunas billeteras, entre ellas Electrum y Trezor, usaban los rangos de P2PKH para direcciones SegWit. BIP-137 no puede expresar en absoluto direcciones Taproot, multisig ni de script, y por eso BIP-322 lo sustituye. El verificador de mensajes de Bitcoin acepta ambos formatos.