Security & privacyBeginner3 min read

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.

A wallet signs a specific message and a compatible verifier checks the proof.
A wallet signs a specific message and a compatible verifier checks the proof.

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. 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. 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. 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.

  1. BIP 322 github.com
  2. Bitcoin.org bitcoin.org

Keep learning

All tutorials

Search 1Bitcoin

Tools & guides

Hub listings