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

# Bank Queries

> Query token balances, total supply, and denomination metadata using the bank extension

The bank extension queries token balances, supply, and denomination metadata.

```typescript theme={"system"}
import { QueryClient, setupBankExtension } from "@cosmjs/stargate";
import { connectComet } from "@cosmjs/tendermint-rpc";

const cometClient = await connectComet("https://rpc.my-chain.network");
const queryClient = QueryClient.withExtensions(cometClient, setupBankExtension);

const balance = await queryClient.bank.balance("cosmos1...", "uatom");
console.info(balance); // { denom: "uatom", amount: "1000000" }

const allBalances = await queryClient.bank.allBalances("cosmos1...");
console.info(allBalances); // [{ denom: "uatom", amount: "1000000" }, ...]
```

## Available Methods

| Method           | Parameters       | Returns                    |
| ---------------- | ---------------- | -------------------------- |
| `balance`        | `address, denom` | `Coin`                     |
| `allBalances`    | `address`        | `Coin[]`                   |
| `totalSupply`    | `paginationKey?` | `QueryTotalSupplyResponse` |
| `supplyOf`       | `denom`          | `Coin`                     |
| `denomMetadata`  | `denom`          | `Metadata`                 |
| `denomsMetadata` | —                | `Metadata[]`               |

## Total Supply with Pagination

```typescript theme={"system"}
const firstPage = await queryClient.bank.totalSupply();
console.info(firstPage.supply);

if (firstPage.pagination?.nextKey?.length) {
  const secondPage = await queryClient.bank.totalSupply(firstPage.pagination.nextKey);
  console.info(secondPage.supply);
}
```

<Info>
  `totalSupply` is the only paginated method in the bank module. See [Pagination](/cosmjs/v0.38.x/guides/query/pagination) for the general pattern.
</Info>

## Next Steps

<CardGroup cols={2}>
  <Card title="Staking Queries" icon="coins" href="/cosmjs/v0.38.x/guides/query/staking">
    Validators, delegations, and staking pool.
  </Card>

  <Card title="Pagination" icon="forward" href="/cosmjs/v0.38.x/guides/query/pagination">
    Navigate paginated result sets.
  </Card>
</CardGroup>
