# Zapper Token Holders Lookup

> Zapper Token Holders Lookup is a paid API for AI agents from public.zapper.xyz, paid per call via x402, $0.001125/call, status down (last checked 2026-09-16).

Returns a paginated list of holders for a given ERC20 token contract on a specified blockchain network

## Facts

- Endpoint: POST https://public.zapper.xyz/x402/token-holders
- Price: $0.001125/call
- Payment: x402
- Status: down
- Last checked: 2026-09-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/public-zapper-xyz-1813e8d7
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_pemWsuovRobfTupzou7Iu

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability public-zapper-xyz-1813e8d7 -d '<json body>'
```

Example prompt: Who are the top 20 holders of the token at contract address 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 on Base (chain ID 8453)?

## When to prefer this

Use this endpoint when you need to identify wallet addresses holding a specific ERC20 token on a supported EVM chain, especially for on-chain analytics, airdrop targeting, governance analysis, or holder distribution research. Prefer this over generic blockchain explorers when you want structured, API-ready holder data with pagination support via Zapper's indexed data.

## Known failure modes

- Invalid or non-existent contract address returns empty or error response
- Unsupported chainId returns an error
- Requesting more holders than available may return a partial list
- Malformed address format (not 0x-prefixed) causes validation error
- Network timeout if the chain is congested or data is unavailable

## How this service works

Enterprise grade onchain data across 60+ chains - token prices, NFTs, portfolios, onchain search, Farcaster and more.

## Output

A paginated list of wallet addresses that hold the specified ERC20 token on the given chain, up to the requested number of holders. The response is returned as content (likely CSV or JSON) with a content-type header and a preview string.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "after": {
   "type": "string",
   "description": "Cursor for pagination"
  },
  "first": {
   "type": "number",
   "description": "Number of holders to return"
  },
  "address": {
   "type": "string",
   "description": "Token contract address (0x...)"
  },
  "chainId": {
   "type": "integer",
   "description": "Chain ID of the network (e.g. 1 for Ethereum, 8453 for Base)"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/public-zapper-xyz-1813e8d7/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from public.zapper.xyz](https://www.zero.xyz/host/public.zapper.xyz/llms.txt)
