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

# ERC-20 Utilities

> ERC-20 token balance and transfer utilities

# erc20

## Interfaces

### GetTokenBalanceArgs

Defined in: [packages/payment-evm/src/erc20.ts:7](https://github.com/faremeter/faremeter/blob/main/packages/payment-evm/src/erc20.ts#L7)

Arguments for retrieving an ERC-20 token balance.

#### Properties

##### account

> **account**: `` `0x${string}` ``

Defined in: [packages/payment-evm/src/erc20.ts:9](https://github.com/faremeter/faremeter/blob/main/packages/payment-evm/src/erc20.ts#L9)

The wallet address to check the balance for

##### asset

> **asset**: `` `0x${string}` ``

Defined in: [packages/payment-evm/src/erc20.ts:11](https://github.com/faremeter/faremeter/blob/main/packages/payment-evm/src/erc20.ts#L11)

The ERC-20 token contract address

##### client

> **client**: `object`

Defined in: [packages/payment-evm/src/erc20.ts:13](https://github.com/faremeter/faremeter/blob/main/packages/payment-evm/src/erc20.ts#L13)

Viem public client for querying the chain

## Functions

### getTokenBalance()

> **getTokenBalance**(`args`): `Promise`\<\{ `amount`: `bigint`; `decimals`: `number`; }>

Defined in: [packages/payment-evm/src/erc20.ts:25](https://github.com/faremeter/faremeter/blob/main/packages/payment-evm/src/erc20.ts#L25)

Retrieves the ERC-20 token balance and decimals for an account.

Uses multicall to fetch both values in a single RPC request.

#### Parameters

##### args

[`GetTokenBalanceArgs`](#gettokenbalanceargs)

The account, asset, and client configuration

#### Returns

`Promise`\<\{ `amount`: `bigint`; `decimals`: `number`; }>

The balance amount and token decimals

#### Throws

Error if the balance query fails
