Verify Signed Bitcoin Message

Verifies both BIP-322 (modern, works for bc1… + bc1p…) and legacy BIP-137 “Bitcoin Signed Message” signatures.

Works for P2PKH (1…), P2SH-P2WPKH (3…), P2WPKH (bc1q…), and single-key-spend P2TR (bc1p…).
If unchecked, we use “loose” legacy verification to handle wallets that set legacy header flags incorrectly.
Signature should be base64. If your wallet gives you a JSON object, copy the signature string inside it.
Crypto verifier: loading…

FAQ

  1. What’s the difference between BIP-322 and legacy message signing?
    Legacy signing (“Bitcoin Signed Message”) was built around older address types. BIP-322 is a newer, script-based scheme designed to work cleanly with SegWit and Taproot.
  2. Why does strict mode exist?
    Some wallets historically used incorrect legacy header flags. “Loose” mode can still validate those signatures when the underlying key matches the address.
  3. Is it safe to paste an address, message, and signature?
    It’s generally safe (no private key), but signatures can be used as proof of control. Only share what you intend to prove.
Ask questions in the forum →