Signing and verifying a Bitcoin message
Understand address-control proofs, compatible signature formats and why a signed message does not prove a person's identity.
The quick answer
Message signing can demonstrate that a signer satisfies an address's supported signing conditions for a particular message. It does not transfer bitcoin or establish legal identity by itself.
Format and exact wording matter
Older message-signing methods do not support every address type. BIP322 defines a broader approach, but wallet support varies. Verification needs the exact message, address, signature and compatible method.
Step by step
- 1
Agree on a specific message
Include the purpose, requesting service, date and a fresh challenge. Avoid vague statements that could be reused elsewhere.
- 2
Use the wallet's message-signing feature
Read the entire message before approval. Do not approve an unexplained transaction or PSBT presented as a harmless signature.
- 3
Verify independently
Use a compatible verifier and the original message exactly. Check both the result and what the signed statement actually claims.
Worked example
A challenge saying 'Verify access for service X on this date, nonce Y' is more specific than 'I own this wallet'. Neither proves the signer's real-world name.
Before you continue
A related question
Can I sign on a website with my recovery words?
Never provide recovery words. Signing should happen through your trusted wallet's documented flow, with no disclosure of private keys.
Try it with a tool
Sources & further reading
Source links checked on 15 Oct 2026. Examples explain the mechanics; provider fees and features can change.
- BIP 322 github.com
- Bitcoin.org bitcoin.org