Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getpara.com/llms.txt

Use this file to discover all available pages before exploring further.

The useParaCosmjsProtoSigner hook returns a CosmJS OfflineDirectSigner for the user’s Cosmos wallet. It supports both embedded Para wallets and external wallets. If the user has multiple Cosmos wallets, pass address or walletId to select one. When omitted, the active wallet is used automatically.
Requires @getpara/cosmjs-v0-integration as a peer dependency.
Use the companion mutation hook useParaCosmjsSignAndBroadcast to sign and broadcast transactions.

Import

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

Usage

import { useParaCosmjsProtoSigner } from "@getpara/react-sdk";
import { SigningStargateClient } from "@cosmjs/stargate";

function SignDirect() {
  const { protoSigner, isLoading } = useParaCosmjsProtoSigner();

  const handleSign = async () => {
    if (!protoSigner) return;

    const signDoc = {
      bodyBytes: new TextEncoder().encode(
        JSON.stringify({ messages: [], memo: "Hello" })
      ),
      authInfoBytes: new Uint8Array(0),
      chainId: "",
      accountNumber: BigInt(0),
    };

    const result = await protoSigner.signDirect(protoSigner.address, signDoc);
    console.log("Signature:", result.signature.signature);
  };

  if (isLoading) return <p>Loading...</p>;

  return (
    <div>
      <p>Address: {protoSigner?.address}</p>
      <button onClick={handleSign}>Sign Message</button>
    </div>
  );
}