Skip to main content

Recommended: JavaScript SDK with React Hooks

For new React apps, we recommend the JavaScript SDK with React Hooks (@dynamic-labs-sdk/react-hooks) instead of the legacy React SDK documented here. The JS SDK comes with many benefits such as a much smaller bundle size and other optimizations. Use the React quickstart (JavaScript SDK) to get started.
For each wallet, we will get the provider with useRpcProviders, to fetch the balance by calling the getBalance with the wallet address.
import { useUserWallets } from '@dynamic-labs/sdk-react-core';

import { useRpcProviders } from '@dynamic-labs/sdk-react-core'
import { evmProvidersSelector } from '@dynamic-labs/ethereum-core'

const App = () => {
  const userWallets = useUserWallets();
  const { defaultProvider } = useRpcProviders(evmProvidersSelector)

  useEffect(() => {
    userWallets.forEach(async (wallet) => {
      if (!wallet) return;

      // Get the EVM Mainnet provider
     const provider = defaultProvider?.provider;

      if (!provider) return;

      // Fetch the wallet balance
      const balance = await provider.getBalance({ address: wallet.address });

      console.log('balance', balance.toString());
    });
  }, [userWallets, defaultProvider]);

  ...
}

Last modified on June 25, 2026