# OnchainExpat x402 Token Holders API

> OnchainExpat x402 Token Holders API is a paid API for AI agents from x402.onchainexpat.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-09-14).

Returns the list of token holders for a given cryptocurrency token using the x402 pay-per-request protocol

## Facts

- Endpoint: POST https://x402.onchainexpat.com/api/x402-crypto/token-holders
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/onchainexpat-x402-token-holders-api-1323c8d8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_1SNsgkLax_JZPZx9ZfzYQ

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 onchainexpat-x402-token-holders-api-1323c8d8 -d '<json body>'
```

Example prompt: Can you pull the list of token holders for the ERC-20 contract 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 on Ethereum so I can see how the supply is distributed?

## When to prefer this

Use this endpoint when you need on-chain token holder data for a specific token contract and want pay-per-use pricing via the x402 protocol without a subscription. Prefer this over traditional blockchain data APIs when operating in an agent context that supports x402 micropayments.

## Known failure modes

- Invalid or unrecognized contract address returns an error or empty result
- Unsupported blockchain network not indexed by the provider
- Payment not processed correctly via x402 protocol resulting in 402 response
- Rate limiting or quota exceeded
- Token contract exists but has no indexed holder data yet

## How this service works

Pay-per-request AI, crypto, proxy, and utility APIs using x402 protocol

## Output

A JSON object containing token holder data including wallet addresses, balances, and distribution metrics for the queried token contract

## Example request

```json
{
 "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "address"
 ],
 "properties": {
  "chain": {
   "type": "string",
   "description": "Blockchain (default: ethereum)"
  },
  "address": {
   "type": "string",
   "description": "Token contract address (0x + 40 hex chars)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "data": {
   "type": "object",
   "properties": {
    "chain": {
     "type": "string"
    },
    "address": {
     "type": "string"
    },
    "token_info": {
     "type": "object",
     "description": "Token name, symbol, total supply"
    },
    "top_holders": {
     "type": "array",
     "description": "Top holders with address, balance, percentage, and label"
    },
    "concentration": {
     "type": "object",
     "description": "Whale concentration metrics (top 10, 50, 100)"
    },
    "centralization_risk": {
     "type": "string",
     "description": "Risk level: low, medium, high, extreme"
    }
   }
  },
  "success": {
   "type": "boolean"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/onchainexpat-x402-token-holders-api-1323c8d8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.onchainexpat.com](https://www.zero.xyz/host/x402.onchainexpat.com/llms.txt)
