bitcoinsignMessage

You can request your user to sign a message with their wallet's Bitcoin addresses, by invoking the signMessage method.

Request parameters
Description

address

a string representing the address to use to sign the message

message

a string representing the message to be signed by the wallet

protocol (ℹ️ optional)

By default, signMessage will use two type of signatures depending on the Bitcoin address used for signing:

You have the option to specify your preferred signature type with the protocol parameter:

import {
  request,
  BitcoinNetworkType,
  RpcErrorCode,
} from "sats-connect";

try {
  const response = await request("signMessage", {
    address,
    message,
  });
  if (response.status === "success") {
    // handle success response
  } else {
    if (response.error.code === RpcErrorCode.USER_REJECTION) {
       // handle user request cancelation
    } else {
       // handle request error
    }
  }
} catch (err) {
  alert('Something Went Wrong');
}

The user will see a Bitcoin message signing request prompt in the wallet. Xverse browser extension UI shown as example:

The signMessage method returns a Promise that resolves to the SignMessageResult object:

Property
Description

signature

a string representing the signed message.

messageHash

a string representing the hash of the message

address

a string representing the address used for signing

Last updated