You can request your user to sign a message with arbitrary (unstructured) data, using their wallet's Stacks address, by invoking the stx_signMessage
method.
This can be used to authenticate the ownership of an address or to signal a decision (e.g. agree to Terms of Services).
Request parameters | Description |
---|---|
| a utf-8 string representing the message to be signed by the wallet |
The user will see a Stacks message signing request prompt in the wallet. Xverse browser extension UI shown as example:
The stx_signMessage
method returns a Promise that resolves if the user approves the request. The message is then hashed using sha256 before being signed with secp256k1, and the method returns the SignStxMessageResult
object:
Property | Description |
---|---|
| a string representing the signed message |
| a string representing the public key of the address used for signing, as a hex-encoded string |