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.

Query SOL and SPL token balances for Para wallets using Solana libraries. This guide covers checking native SOL balances and SPL token balances.
import { useParaSolanaSigner } from "@getpara/react-native-wallet/solana";
import { createSolanaRpc, address } from '@solana/kit';

const rpc = createSolanaRpc("https://api.mainnet-beta.solana.com");

function WalletBalance() {
  const { solanaSigner, isLoading } = useParaSolanaSigner({ rpc });
  const [solBalance, setSolBalance] = useState(0);
  const [tokenBalance, setTokenBalance] = useState(0);

  const fetchBalances = async () => {
    if (!solanaSigner) return;

    try {
      // Get SOL balance
      const { value } = await rpc.getBalance(solanaSigner.address).send();
      setSolBalance(Number(value) / 1e9);

      // Get SPL token balance
      const usdcMint = address("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
      const { value: accountData } = await rpc.getAccountInfo(usdcMint).send();
      if (accountData && accountData.data) {
        const parsed = JSON.parse(accountData.data);
        setTokenBalance(Number(parsed.parsed.info.tokenAmount.amount) / 1e6);
      } else {
        setTokenBalance(0);
      }
    } catch (error) {
      console.error("Error fetching balances:", error);
    }
  };

  return (
    <div>
      <button onClick={fetchBalances}>Refresh Balances</button>
      <p>SOL Balance: {solBalance}</p>
      <p>USDC Balance: {tokenBalance}</p>
    </div>
  );
}

Next Steps