# ZEAM Prism MCP – Audit Funders

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

Scans on-chain token transfer history for a wallet address and returns a ranked list of all inbound senders (funders) with metadata distinguishing contracts from EOAs.

## Facts

- Endpoint: POST https://mcp.zeamprism.com/v1/audit_funders
- Price: $0.001903/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-funders-4ad2c05b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_UV9QIr968y9zl0_pb9G8x

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-funders-4ad2c05b -d '<json body>'
```

Example prompt: Who has been sending tokens to 0xAbC123...def456 on-chain? Scan the full history and tell me whether each sender is a contract or a regular account.

## When to prefer this

Choose this endpoint when you need a comprehensive, historically complete audit of who has funded a specific wallet with a specific token on-chain — especially useful for forensic investigations, DAO treasury audits, or mapping funding graphs. It is superior to generic blockchain explorers when you need programmatic, structured output with contract-vs-EOA classification and reproducible evidence. Prefer it over raw RPC calls when you want windowed snapshots and don't want to manage pagination yourself.

## Known failure modes

- Invalid or malformed wallet address returns ok:false with an error string
- Invalid token contract address returns ok:false
- Requested block range exceeds archive node availability
- Partial:true returned when scan has not yet reached from_block — agent must poll again
- Rate limiting or payment failure via x402 may interrupt mid-scan
- Unknown token contract (no decimals readable) may cause ok:false

## 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 an object with ok status, the queried address, token metadata (symbol, decimals), a list of all inbound senders (funders) with raw token unit amounts and kind (contract or account), the block range actually scanned, a partial flag indicating whether the scan is still in progress, and an evidence object with the exact RPC call parameters needed to reproduce the result on any archive node.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "address"
 ],
 "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."
  },
  "address": {
   "type": "string",
   "description": "string — the wallet, 0x form."
  },
  "to_block": {
   "type": "number",
   "description": "optional int — stop; default the head."
  },
  "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"
  },
  "note": {
   "type": "string"
  },
  "error": {
   "type": "string",
   "description": "present when ok is false"
  },
  "range": {
   "type": "object",
   "properties": {
    "to": {
     "type": [
      "number",
      "string"
     ]
    },
    "from": {
     "type": [
      "number",
      "string"
     ]
    }
   }
  },
  "token": {
   "type": "object",
   "description": "token metadata, decimals read from the contract"
  },
  "address": {
   "type": "string"
  },
  "funders": {
   "type": "array",
   "description": "inbound senders, raw token units; kind is contract or account from eth_getCode"
  },
  "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"
  }
 }
}
```

## More

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