What a verifier checks

BIP 322 defines a generic signed-message format. The verifier constructs virtual transactions from the message and evaluates a spending proof against the target script. This allows verification for script types beyond the legacy compact-signature convention. Compatibility depends on the signing and verification software and the chosen proof format. BIP 322 · Generic signed message format ↗

Give the proof a narrow purpose

A service verifying control of an address can include its domain, a fresh challenge, the address and an expiration time in the message. A valid proof establishes that the script requirements were satisfied for that challenge. The service needs separate evidence for the user’s legal identity, the origin of funds or ownership of any balance beyond what it explicitly verifies.

Handle reuse and compatibility

Display the full message before signing and verify its exact bytes. Reject stale or previously used challenges and keep the network, address and proof format with the record. Test both a supported address and one your verifier cannot validate, so compatibility errors are visible to the user.