Skip to main content
Query token balances for any Cosmos address or your connected Para wallet using CosmJS in React Native.

Prerequisites

Query Balances

import { useState, useEffect } from 'react';
import { View, Text, Button } from 'react-native';
import { useParaCosmos } from './hooks/useParaCosmos';
import { StargateClient } from '@cosmjs/stargate';

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

function BalanceDisplay() {
  const { protoSigner, address, isLoading } = useParaCosmos();
  const [balances, setBalances] = useState<{ denom: string; amount: string }[]>([]);

  const queryBalances = async () => {
    if (!address) return;

    const client = await StargateClient.connect(RPC_URL);
    const allBalances = await client.getAllBalances(address);
    setBalances(allBalances);

    const atomBalance = await client.getBalance(address, 'uatom');
    console.log('ATOM balance:', atomBalance.amount, atomBalance.denom);
  };

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

  return (
    <View>
      <Text>Address: {address}</Text>
      <Button title="Query Balances" onPress={queryBalances} />
      {balances.map(balance => (
        <Text key={balance.denom}>
          {balance.amount} {balance.denom}
        </Text>
      ))}
    </View>
  );
}

Next Steps