A mensagem é envolvida com o prefixo “Bitcoin Signed Message” e bytes de comprimento, passa por um hash SHA-256 duplo e é assinada com a secp256k1; o verificador recupera a chave pública a partir da assinatura, deriva o endereço do tipo indicado pelo cabeçalho e o compara com o endereço declarado. As assinaturas são trocadas em base64.
Ela descende do signmessage do Bitcoin Core, que só aceita P2PKH, e as faixas de cabeçalho para SegWit nunca foram implementadas de forma consistente: algumas carteiras, entre elas Electrum e Trezor, usavam as faixas de P2PKH para endereços SegWit. A BIP-137 não consegue representar de forma alguma endereços Taproot, multisig ou de script, e é por isso que a BIP-322 a substitui. O verificador de mensagens Bitcoin aceita os dois formatos.