ArConnect Docs
Ask or search…
K
Links

Verify message

ArConnect Injected API verifyMessage() function
This function allows verifying a cryptographic signature created by ArConnect.
Argument
Type
Description
data
ArrayBuffer
The data to verify the signature for
signature
ArrayBuffer | string
The signature to validate
publicKey?
string
Arweave wallet JWK.n field, transaction owner field or public key from ArConnect.
options?
Configuration for the signature
Note: This function requires the SIGNATURE permission.
Note: The publicKey argument is optional, if it is not provided, the extension will use the currently selected wallet's public key. You might only need this if the message to be verified was not made by the connected user.
Note: The options argument is optional, if it is not provided, the extension will use the default signature options (default hash algorithm) to sign the data.

Example usage

// connect to the extension
await window.arweaveWallet.connect(["SIGNATURE"]);
// data to be signed
const data = new TextEncoder().encode("The hash of this msg will be signed.");
// create signature
const signature = await window.arweaveWallet.signMessage(data);
// verify signature
const isValidSignature = await window.arweaveWallet.verifyMessage(data, signature);
console.log(`The signature is ${isValidSignature ? "valid" : "invalid"}`);