Skip to main content
Learn how to set up with Para SDK to interact with Cosmos-based blockchains in React Native.

Prerequisites

Installation

npm install @cosmjs/stargate @cosmjs/proto-signing @cosmjs/amino @getpara/cosmjs-v0-integration --save-exact

Library Setup

Unlike the web SDK which provides useCosmjsProtoSigner directly, React Native uses useClient() from @getpara/react-native-wallet to get the Para instance and constructs the signer manually.
Use the Proto signer for transaction operations like sending tokens, staking, and IBC transfers.
hooks/useParaCosmos.ts
import { useMemo } from 'react';
import { useClient, useAccount } from '@getpara/react-native-wallet';
import { ParaProtoSigner } from '@getpara/cosmjs-v0-integration';
import { SigningStargateClient, StargateClient } from '@cosmjs/stargate';

const RPC_URL = 'https://rpc.cosmos.directory/cosmoshub';

export function useParaCosmos() {
  const para = useClient();
  const { isConnected } = useAccount();

  const protoSigner = useMemo(() => {
    if (!para || !isConnected) return null;
    return new ParaProtoSigner(para, 'cosmos');
  }, [para, isConnected]);

  const address = protoSigner?.address;

  return { protoSigner, address, isLoading: !para };
}

Next Steps