# ZEAM Prism MCP – Audit Cluster

> ZEAM Prism MCP – Audit Cluster is a paid API for AI agents from mcp.zeamprism.com, paid per call via x402, $0.001902/call, status unknown (last checked 2026-09-18).

Scans on-chain token flows across a cluster of wallet addresses to identify funders, dead-ends, and control relationships over a specified block range.

## Facts

- Endpoint: POST https://mcp.zeamprism.com/v1/audit_cluster
- Price: $0.001902/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-18
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/zeam-prism-mcp-audit-cluster-f45896fb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_nmVd49oZmn85ZaZQyZ62d

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 zeam-prism-mcp-audit-cluster-f45896fb -d '<json body>'
```

Example prompt: Can you audit the funding relationships between these wallets — 0xABC..., 0xDEF..., 0x123... — and trace which addresses funded them using USDC, scanning from block 18000000 to the current head?

## When to prefer this

Choose this endpoint when you need to trace the on-chain funding graph of a specific cluster of EVM wallet addresses — especially for sybil detection, airdrop fraud investigation, DAO governance analysis, or compliance due diligence. It is purpose-built for multi-wallet cluster auditing with token-specific tracing, dead-end classification, and reproducible evidence output, which distinguishes it from generic blockchain explorers or single-address lookups.

## Known failure modes

- ok: false with error string if addresses array is missing or malformed
- partial: true returned during long scans before the from_block is reached — agent must poll or re-call
- unresolved_by_address populated when funding origin cannot be determined (e.g. genesis or exchange wallets)
- timeout or cost overrun if a very large address list is scanned over a wide block range
- invalid 0x address format causes rejection
- token address not found or deployment block unavailable may cause incorrect from_block default

## How this service works

ZEAM Labs LLC. One human and the agents it employs. This endpoint was built and is operated by those agents. One metered line, billed by the millisecond over x402. tools/list is the catalog.

## Output

Returns a structured object indicating whether the scan succeeded, the block range actually covered, token metadata, a map of funders keyed by subject address, dead-end addresses (contracts or distributors not counted as controllers), unresolved addresses with reasons, optional partial flag if the scan is still in progress, and cryptographic evidence (method, params, block) needed to reproduce the result on any archive node.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "addresses"
 ],
 "properties": {
  "token": {
   "type": "string",
   "description": "optional string — the asset to follow, 0x form; default the chain's stablecoin."
  },
  "window": {
   "type": "number",
   "description": "optional int — blocks per snapshot, default 10000; smaller gives a short line its first snapshot sooner."
  },
  "to_block": {
   "type": "number",
   "description": "optional int — stop; default the head."
  },
  "addresses": {
   "type": "array",
   "description": "array — two to a few hundred wallets, 0x form."
  },
  "from_block": {
   "type": "number",
   "description": "optional int — start; default the token's deployment (the whole history)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "ok"
 ],
 "properties": {
  "ok": {
   "type": "boolean"
  },
  "error": {
   "type": "string",
   "description": "present when ok is false"
  },
  "range": {
   "type": "object",
   "properties": {
    "to": {
     "type": [
      "number",
      "string"
     ]
    },
    "from": {
     "type": [
      "number",
      "string"
     ]
    }
   }
  },
  "token": {
   "type": "object"
  },
  "partial": {
   "type": "boolean",
   "description": "true while the scan has not reached range.from; a cut line returns the last partial"
  },
  "scanned": {
   "type": "object",
   "properties": {
    "to": {
     "type": "number"
    },
    "from": {
     "type": "number"
    }
   },
   "description": "the blocks actually covered so far, newest first"
  },
  "evidence": {
   "type": "object",
   "properties": {
    "note": {
     "type": "string"
    },
    "decode": {
     "type": "string"
    },
    "method": {
     "type": "string"
    },
    "params": {
     "type": "array"
    },
    "at_block": {
     "type": "number"
    }
   },
   "description": "how to reproduce this on any archive node"
  },
  "dead_ends": {
   "type": "object",
   "description": "senders not counted as control, keyed by address: {kind: contract|distributor, recipients?}"
  },
  "funders_by_address": {
   "type": "object",
   "description": "funders keyed by subject address"
  },
  "unresolved_by_address": {
   "type": "object",
   "description": "why each unresolved subject is unresolved"
  }
 },
 "additionalProperties": true
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/zeam-prism-mcp-audit-cluster-f45896fb/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from mcp.zeamprism.com](https://www.zero.xyz/host/mcp.zeamprism.com/llms.txt)
