Verify a signed message
Questions
What does a valid signature prove?
That whoever produced it held the private key for the address at the time. It is how exchanges, auditors and counterparties confirm you control a wallet without you moving any coins.
Which formats are supported?
Classic “signmessage” signatures (BIP-137) for legacy, nested SegWit and native SegWit addresses, as made by Bitcoin Core, Electrum, Sparrow, Trezor, Ledger and most wallets, and BIP-322 signatures in both the simple and the full format. BIP-322 is checked for legacy addresses (full format only), nested SegWit (P2SH-P2WPKH), native SegWit (P2WPKH), single-key Taproot, and single-key or multisig scripts in P2WSH, P2SH-P2WSH and P2SH.
What does “cannot be checked here” mean?
BIP-322 has three outcomes: valid, invalid and inconclusive. Inconclusive means the signature uses a script this page does not interpret, such as a time lock or a Taproot script path, or it is a proof of funds, which also needs the current set of unspent coins. It is not a verdict either way.
Why does a signature fail when it should pass?
The message must match exactly. A trailing space or a different line break changes it. Some wallets also add or strip a final newline. Paste the full signed-message block if you have one.
Can someone fake this?
Not without the private key. But a signature can be copied: always ask for a message that includes something fresh, such as today’s date and your name, so an old signature cannot be reused.