
signMessage
Request the signature of an arbitrary message with the first Bitcoin address (Native SegWit or Taproot) of an account
Method name
signMessage
Parameters
Parameter
Description
Required
Type
message
Arbitrary message for signing
string
paymentType
Address type to use. p2wpkh
for Native Segwit (default) or p2tr
for Taproot.
string
network
Network for signing: mainnet
(default), testnet
, signet
, sbtcDevenv
or devnet
string
account
Index of account for signing (defaults to active account)
uint
Example request
import { Verifier } from "bip322-js";
try {
// Request signature
const response = await window.LeatherProvider.request("signMessage", {
message: "Hello world",
paymentType: "p2tr",
network: "testnet",
account: 0
});
console.log("Response:", response);
// Verify signature
try {
const isValid = Verifier.verifySignature(
response.result.address,
response.result.message,
response.result.signature
);
console.log("Signature is valid: ", isValid);
} catch (error) {
console.log("Verification error:", error);
}
} catch (error) {
console.log("Request error:", error.error.code, error.error.message);
}
Example response
{
"jsonrpc": "2.0",
"id": "adc296e9-beb7-4685-a443-24c30d0d04dd",
"result": {
"signature": "AUDl4ZQJo585ldL0I9S+CjDpT7+5WB2Sspgh47Dsx0WX0iZSCLV+K6smOKJ1u4IUaN6grvNspaZ9GpqPOOHsTTVE",
"address": "tb1pwfstsmedjfr84rzjsnsjly7x0utzlcfed0uqv26vmwsrvvzuf82qsad4uz",
"message": "Hello world"
}
}
Sandbox
Install the Leather extension then try out this method below:
Preview

Last updated