Use the signMessage method exported from the useSolanaWallets hook to sign a message with an Solana wallet.

signMessage: (message: Uint8Array) => Promise<Uint8Array>;

Usage

import {useSolanaWallets, useSignMessage} from '@privy-io/react-auth/solana';
import bs58 from 'bs58';

const {wallets} = useSolanaWallets();
const {signMessage} = useSignMessage();

const message = 'Hello world';
const signatureUint8Array = await signMessage({
  message: new TextEncoder().encode(message),
  // Optional: Specify the wallet to use for signing. If not provided, the first wallet will be used.
  options: {
    address: wallets[0].address
  }
});
const signature = bs58.encode(signatureUint8Array);

Parameters

message
string
required

Message to be signed.

Response

signature
string

The signature produced by the wallet.