# ZEAM Prism MCP – Audit Payers

> ZEAM Prism MCP – Audit Payers 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 an x402 settlement escrow contract on-chain and returns a breakdown of all distinct payers and payment channels opened within a specified block range.

## Facts

- Endpoint: POST https://mcp.zeamprism.com/v1/audit_payers
- 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-payers-7ca7d70d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_QsbivGfYNFee0JjIHdfuR

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-payers-7ca7d70d -d '<json body>'
```

Example prompt: Audit all payers on the x402 escrow at 0xAbC123... from block 18000000 to the current head, grouping snapshots every 5000 blocks, and show me the full per-payer breakdown.

## When to prefer this

Use this endpoint when you need on-chain forensic-level breakdown of who has paid into a specific x402 escrow contract — including per-payer and per-channel detail with reproducible evidence. Prefer it over generic blockchain explorers when you need structured, agent-consumable output scoped to x402 payment semantics, or when you need to filter by receiver address or tune snapshot granularity.

## Known failure modes

- Invalid or non-existent contract address returns ok:false with an error string
- Block range exceeds available archive depth, causing incomplete or error responses
- Malformed contract address (not 0x hex) triggers a validation error
- to_block less than from_block results in an error
- Rate-limit or payment failure via x402 returns a 402 response before the tool executes
- Partial scan (ok:true, partial:true) when scan has not yet reached from_block

## 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 JSON object with a boolean 'ok' flag, the number of distinct payers, the number of channels opened, a per-payer detail array, the actual block range scanned, a partial flag indicating whether the full range has been covered, and an evidence object containing the exact call parameters needed to reproduce the result on any archive node. On failure, an 'error' string is included.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "contract"
 ],
 "properties": {
  "window": {
   "type": "number",
   "description": "optional int — blocks per snapshot, default 10000; smaller gives a short line its first snapshot sooner."
  },
  "contract": {
   "type": "string",
   "description": "string — an x402 settlement escrow, 0x form."
  },
  "receiver": {
   "type": "string",
   "description": "optional string — only channels paying this receiver; omit for all."
  },
  "to_block": {
   "type": "number",
   "description": "optional int — stop; default the head."
  },
  "from_block": {
   "type": "number",
   "description": "optional int — start; default the contract'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"
     ]
    }
   }
  },
  "detail": {
   "type": "array",
   "description": "one entry per payer"
  },
  "payers": {
   "type": "number",
   "description": "distinct payers"
  },
  "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"
  },
  "channels": {
   "type": "number",
   "description": "channels opened in the range"
  },
  "contract": {
   "type": "string"
  },
  "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"
  },
  "receiver": {
   "type": [
    "string",
    "null"
   ]
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/zeam-prism-mcp-audit-payers-7ca7d70d/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)
