# Tornado Cash Pool Anonymity Set Checker

> Tornado Cash Pool Anonymity Set Checker is a paid API for AI agents from api.chainmarket-api.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-24).

Returns on-chain data for all Tornado Cash Ethereum pools including balances, denominations, contract size, and approximate anonymity set sizes

## Facts

- Endpoint: GET https://api.chainmarket-api.workers.dev/api/crypto/tornado-cash-anonymity?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-24
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tornado-cash-pool-anonymity-set-checker-31eefca6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_vtGQzqsPD2_CyM0XVGC7N

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 tornado-cash-pool-anonymity-set-checker-31eefca6
```

Example prompt: Can you pull the current on-chain stats for all Tornado Cash pools on Ethereum — I want to see the ETH balance, denomination, and anonymity set size for each pool?

## When to prefer this

Choose this endpoint when you need real-time, pay-per-call on-chain Tornado Cash pool statistics without managing an Ethereum node or API key. Ideal for DeFi researchers, privacy analysts, or compliance tools that need current anonymity set sizes and pool balances across all denominations in a single call.

## Known failure modes

- RPC node unavailable or rate-limited, causing a failed fetch
- Stale data if the public RPC is lagging behind chain head
- Empty or partial pool list if on-chain calls time out
- Network errors from the Cloudflare Worker to the Ethereum RPC endpoint

## How this service works

Tornado Cash ETH pools (0.1, 1, 10, 100 ETH): current pool balance, contract code presence, and an approximate anonymity set = balance divided by denomination (deposits not yet withdrawn, if nothing else moved the balance). Ethereum pools only; no relayer or multi-chain data. Sanctioned protocol data, read for its public on-chain state.

## Output

A JSON object containing an array of Tornado Cash pool entries, each with the pool contract address, ETH balance, denomination in ETH, contract code size in bytes, and approximate anonymity set size (number of unspent deposits). Also includes the RPC source URL and the timestamp of the check, plus total ETH balance across all pools.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "required": {
   "type": "string"
  },
  "properties": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "pools": [
   {
    "address": "0x12D66f87A04A9E220743712cE6d9bB1B5616B8Fc",
    "balanceEth": 632.5,
    "denominationEth": 0.1,
    "contractCodeBytes": 6615,
    "approxAnonymitySet": 6325
   },
   {
    "address": "0x47CE0C6eD5B0Ce3d3A51fdb1C52DC66a7c3c2936",
    "balanceEth": 4328,
    "denominationEth": 1,
    "contractCodeBytes": 5191,
    "approxAnonymitySet": 4328
   }
  ],
  "source": "https://ethereum-rpc.publicnode.com",
  "checkedAt": "2026-10-23T09:36:07.753Z",
  "totalBalanceEth": 310550.5
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tornado-cash-pool-anonymity-set-checker-31eefca6/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.chainmarket-api.workers.dev](https://www.zero.xyz/host/api.chainmarket-api.workers.dev/llms.txt)
