---
title: "Get the number of fungible tokens that a blockchain address holds in a smart contract"
method: GET
path: "/v3/blockchain/token/balance/{chain}/{contractAddress}/{address}"
tags: ["Fungible Tokens (ERC-20 or compatible)"]
---

# Get the number of fungible tokens that a blockchain address holds in a smart contract

`GET /v3/blockchain/token/balance/{chain}/{contractAddress}/{address}`

## Request

- Base URL: `https://api.tatum.io`
- URL: `https://api.tatum.io/v3/blockchain/token/balance/{chain}/{contractAddress}/{address}`
- Auth: API key in header `x-api-key`

/v3/blockchain/token/balance/{chain}/{contractAddress}/{address}

**1 credit per API call**

Get the number of the fungible tokens minted on a specific smart contract (the `contractAddress` path parameter in the request endpoint URL) that a blockchain address holds.

This API is supported for the following blockchains:

*   Algorand
*   BNB Smart Chain
*   Celo
*   Elrond
*   Ethereum
*   Harmony
*   Klaytn
*   KuCoin Community Chain
*   Polygon
*   Solana
*   XinFin
*   Flare
*   Cronos
*   Base
*   Avalanche
*   Fantom
*   Optimism

## Path parameters

- `chain` 'CELO' | 'ALGO' | 'MATIC' | 'ETH' | 'BSC' | 'XDC' | 'KLAY' | 'ONE' | 'EGLD' | 'KCS' | 'SOL' | 'FLR' | 'CRO' | 'BASE' | 'AVAX' | 'FTM' | 'OPTIMISM', required
- `address` string, required
- `contractAddress` string, required

## Query parameters

- `testnetType` 'ethereum-sepolia' | 'flare-coston' | 'flare-coston2' | 'flare-songbird': Specifies the testnet type. The default is ethereum-sepolia for Ethereum (ETH) currency and flare-coston for Flare (FLR) currency. Valid testnet types depend on the specified currency.

## Headers

- `x-testnet-type` Schema (unresolved $ref)

## Response `200`

OK

- Erc20Balance
  - `balance` string: The number of fungible tokens in the smallest token unit (for example, if the token has 10 decimal places, the number is returned as 9*10^10)

## Other responses

- `400`: Bad Request
- `401`: Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
- `403`: Forbidden. The request is authenticated, but it is not possible to perform the operation due to logical error or invalid permissions.
- `500`: Internal server error. There was an error on the server during the processing of the request.

---

[API](https://skmtc.dev/tatum/apis/smart-contracts.md) - [All operations](https://skmtc.dev/tatum/apis/smart-contracts/llms.txt) - [OpenAPI document](https://skmtc.dev/tatum/apis/smart-contracts/revisions/c0146043bb37?raw)
