Skip to main content
Mutation hook for signing messages using a Viem WalletClient from useParaViemClient.
Requires @getpara/viem-v2-integration and viem as peer dependencies.
Get the viemClient parameter from useParaViemClient.

Import

import { useParaViemSignMessage } from "@getpara/react-sdk";

Usage

import { useParaViemClient, useParaViemSignMessage } from "@getpara/react-sdk";
import { sepolia } from "viem/chains";
import { http } from "viem";

function SignMessage() {
  const { viemClient } = useParaViemClient({
    walletClientConfig: { chain: sepolia, transport: http() },
  });

  const { signMessageAsync, isPending, data: signature } = useParaViemSignMessage(viemClient);

  return (
    <div>
      <button onClick={() => signMessageAsync({ message: "Hello" })} disabled={isPending}>
        {isPending ? "Signing..." : "Sign Message"}
      </button>
      {signature && <p>Signature: {signature}</p>}
    </div>
  );
}
mutate/mutateAsync are also available alongside the named aliases. All other UseMutationResult fields (data, error, isSuccess, isError, reset, etc.) work as expected.