---
title: "Check owner of token"
method: GET
path: "/v4/data/owners/address"
tags: ["NFT API"]
---

# Check owner of token

`GET /v4/data/owners/address`

/v4/data/owners/address

**50 credit per API call**

\> 📘 \*\*Note for v3 API users:\*\* > > As part of our documentation consolidation, we removed the dedicated page for GET /v3/data/owners/address. Users can refer to GET /v4/data/owners/address for the latest documentation, as both endpoints function the same—simply replace v4 with v3 in the API URL if using the v3 version.

Check if wallet address owns any specified token (ERC-20, ERC-721 or ERC-1155) on the following blockchains:

*   Ethereum - ethereum-mainnet / ethereum-sepolia
*   Base - base-mainnet / base-sepolia
*   Arbitrum - arb-one-mainnet / arb-testnet
*   BNB (Binance) Smart Chain - bsc-mainnet / bsc-testnet
*   Polygon - polygon-mainnet
*   Optimism - optimism-mainnet / optimism-testnet
*   Berachain - berachain-mainnet
*   Unichain - unichain-mainnet / unichain-sepolia
*   Monad - monad-mainnet / monad-testnet
*   Celo - celo-mainnet / celo-testnet
*   Chiliz - chiliz-mainnet
*   Avalanche - avax-mainnet / avax-testnet
*   Gnosis - gno-mainnet / gno-testnet
*   zkSync - zksync-mainnet / zksync-testnet
*   Rootstock - rsk-mainnet / rsk-testnet
*   Ethereum Classic - ethereum-classic-mainnet / ethereum-classic-testnet
*   Lisk - lisk-mainnet / lisk-testnet

To get started:

*   Provide a chain name, wallet address and address of any fungible token, NFT or multitoken collection. Our API will return `true` if provided wallet address owns them.
*   If wallet address does not own the specific token, response body is `false` and status code is `200`.
*   It is also possible to check if wallet address owns a specific NFT by specifying a `tokenId`.

## Query parameters

- `chain` 'ethereum-mainnet' | 'ethereum-sepolia' | 'base-mainnet' | 'base-sepolia' | 'arb-one-mainnet' | 'arb-testnet' | 'bsc-mainnet' | 'bsc-testnet' | 'polygon-mainnet' | 'optimism-mainnet' | 'optimism-testnet' | 'berachain-mainnet' | 'unichain-mainnet' | 'unichain-sepolia' | 'monad-mainnet' | 'monad-testnet' | 'celo-mainnet' | 'celo-testnet' | 'chiliz-mainnet' | 'avax-mainnet' | 'avax-testnet' | 'gno-mainnet' | 'gno-testnet' | 'zksync-mainnet' | 'zksync-testnet' | 'rsk-mainnet' | 'rsk-testnet' | 'ethereum-classic-mainnet' | 'ethereum-classic-testnet' | 'lisk-mainnet' | 'lisk-testnet', required
- `address` string, required
- `tokenAddress` string, required — Contract address of the token.
- `tokenId` string, uint256 — ID of the token.

## Response `200`

OK

- boolean

## 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.net/tatum/apis/blockchain-data.md) · [All operations](https://skmtc.net/tatum/apis/blockchain-data/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tatum/blockchain-data/revisions/8622ee4b8fae/schema)
