> ## Documentation Index
> Fetch the complete documentation index at: https://crossmint-wallets-docs-2-5.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Check Balances

> Retrieve and manage wallet balances using Crossmint's APIs

<Tabs>
  <Tab title="Token Balances">
    ## Prerequisites

    * Ensure you have a wallet created.
    * **API Key**: Ensure you have an API key with the scopes: `wallets.read` and `wallets:balance.read`.

    ## Retrieving Wallet Balances

    <Tabs>
      <Tab title="React">
        ```typescript theme={null}
        import { useWallet } from '@crossmint/client-sdk-react-ui';

        const { wallet } = useWallet();

        const { nativeToken, usdc, tokens } = await wallet.balances(tokens);
        ```

        ### Parameters

        <ParamField path="tokens" type="string[]">
          The tokens to get the balances for. This can be a token symbol or a token address.
        </ParamField>

        ### Returns

        <ParamField path="nativeToken" type="Token">
          The native token balance.
        </ParamField>

        <ParamField path="usdc" type="Token">
          The USDC balance.
        </ParamField>

        <ParamField path="tokens" type="Token[]">
          The tokens balances.
        </ParamField>
      </Tab>

      <Tab title="Node.js">
        ```typescript theme={null}
        const wallet = await crossmintWallets.getWallet(walletLocator);

        const { nativeToken, usdc, tokens } = await wallet.balances(tokens);
        ```

        ### Parameters

        <ParamField path="tokens" type="string[]">
          The tokens to get the balances for. This can be a token symbol or a token address.
        </ParamField>

        ### Returns

        <ParamField path="nativeToken" type="Token">
          The native token balance.
        </ParamField>

        <ParamField path="usdc" type="Token">
          The USDC balance.
        </ParamField>

        <ParamField path="tokens" type="Token[]">
          The tokens balances.
        </ParamField>
      </Tab>

      <Tab title="React Native">
        ```typescript theme={null}
        import { useWallet } from '@crossmint/client-sdk-react-native-ui';

        const { wallet } = useWallet();

        const { nativeToken, usdc, tokens } = await wallet.balances(tokens);
        ```

        ### Parameters

        <ParamField path="tokens" type="string[]">
          The tokens to get the balances for. This can be a token symbol or a token address.
        </ParamField>

        ### Returns

        <ParamField path="nativeToken" type="Token">
          The native token balance.
        </ParamField>

        <ParamField path="usdc" type="Token">
          The USDC balance.
        </ParamField>

        <ParamField path="tokens" type="Token[]">
          The tokens balances.
        </ParamField>
      </Tab>
    </Tabs>
  </Tab>

  <Tab title="NFT Balances">
    ## Prerequisites

    * Ensure you have a wallet created.
    * **API Key**: Ensure you have an API key with the scopes: `wallets.read`, `wallets.nfts.read`.

    ## Retrieving NFTs

    <Tabs>
      <Tab title="React">
        ```typescript theme={null}
        import { useWallet } from '@crossmint/client-sdk-react-ui';

        const { wallet } = useWallet();

        const nfts = await wallet.experimental_nfts({ perPage, page });
        ```

        ### Parameters

        <ParamField path="perPage" type="number">
          The number of NFTs to return per page.
        </ParamField>

        <ParamField path="page" type="number">
          The page number to return.
        </ParamField>

        ### Returns

        <ParamField path="nfts" type="Promise<GetNftsResponse>">
          The NFTs.
        </ParamField>
      </Tab>

      <Tab title="Node.js">
        ```typescript theme={null}
        const wallet = await crossmintWallets.getWallet(walletLocator);

        const nfts = await wallet.experimental_nfts();
        ```

        ### Parameters

        <ParamField path="perPage" type="number">
          The number of NFTs to return per page.
        </ParamField>

        <ParamField path="page" type="number">
          The page number to return.
        </ParamField>

        ### Returns

        <ParamField path="nfts" type="Promise<GetNftsResponse>">
          The NFTs.
        </ParamField>
      </Tab>

      <Tab title="React Native">
        ```typescript theme={null}
        import { useWallet } from '@crossmint/client-sdk-react-native-ui';

        const { wallet } = useWallet();

        const nfts = await wallet.experimental_nfts();
        ```

        ### Parameters

        <ParamField path="perPage" type="number">
          The number of NFTs to return per page.
        </ParamField>

        <ParamField path="page" type="number">
          The page number to return.
        </ParamField>

        ### Returns

        <ParamField path="nfts" type="Promise<GetNftsResponse>">
          The NFTs.
        </ParamField>
      </Tab>
    </Tabs>
  </Tab>
</Tabs>
