wardcrest

Verify a signed message

Check a signed message against a Bitcoin address. Everything runs in your browser; nothing is sent to Wardcrest.

Paste the exact message, including capitals, spaces and line breaks. You can also paste a whole “BEGIN BITCOIN SIGNED MESSAGE” block here.

Base64, as your wallet exports it. BIP-322 signatures start with “smp” (simple) or “ful” (full); older ones may have no prefix.

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.