Verifymessage call on BTC nodes

When making a verifyMessage call to the RPC, we need to prefix the original message with ’ ```
\x18Bitcoin Signed Message:\n{message length}’ or do you do that server side?

Hey Cadey,

We have ran a test with the address 18J72YSM9pKLvyXX1XAjFXA98zeEvxBYmw, that signed a message Test123 and the result was a signature of Gzhfsw0ItSrrTCChykFhPujeTyAcvVxiXwywxpHmkwFiKuUR2ETbaoFcocmcSshrtdIjfm8oXlJoTOLosZp3Yc8=.

And our nodes have verified that it was a true signature. You should be able to sign whatever you want. Are you looking to match some template to comply with some service?


Hi, you have used a base58 address type, im trying to use Taproot - Bech32

Hi Cadey,

Can you please provide us an example of what you’re looking for so we can test it? Can you please also provide us with a taproot signature or a sample?

-Nick S


Wallet address: bc1pajh763rytlytsuccjgc0qq8gcp7rg5yf27h845evt4fn847h896q6llry5
Wallets public key : 02c1faf3f5bce5031c7aaaf20cae25239a21b2ea0cd38896ae9551c4b7bf9f1323
Sig : HKpeb4FV6GeVsBKr9MM9Wiaw2WQ+jJUfLYDQCwIlT5x8S7K80x+/D1/gk2yrEu56/TqEvwGzO66qk/jSMWtj5qo=

Original message : \u0018Bitcoin Signed Message:\n\u0003foo

We can’t verify messages for bech32 addresses as this falls out of our scope. The message provided “\u001” is special, so you’d have to find a way to be able to send bytes instead of characters.