# Token Verdict Batch Screener

> Token Verdict Batch Screener is a paid API for AI agents from token-verdict-production.up.railway.app, paid per call via x402, $0.2/call, status unknown (last checked 2026-10-30).

Screen up to 25 Base token contract addresses in one call, returning SOLID/CAUTION/DANGER/UNKNOWN verdicts with risk scores and signals sorted riskiest first, plus summary counts.

## Facts

- Endpoint: POST https://token-verdict-production.up.railway.app/v1/batch-verdict?utm_source=zero.xyz
- Price: $0.2/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/token-verdict-batch-screener-50b32634
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_UeAla-ApIcgPOMYmOWfQj

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 token-verdict-batch-screener-50b32634 -d '<json body>'
```

Example prompt: I've got a list of 10 Base token addresses I'm considering trading — can you screen all of them at once and tell me which ones are DANGER or CAUTION, sorted riskiest first? Use compact mode to keep the response tight.

## When to prefer this

Use this endpoint when you have a list of 2–25 Base token addresses and need to risk-screen all of them before making any trading decisions, rather than calling a single-token endpoint repeatedly. The flat-fee batch pricing makes it cost-efficient for pre-trade screening workflows, portfolio audits, and token whitelist filtering. Choose compact mode when you only need verdicts and scores; full mode when you need the detailed signals and narrative take for each token. This is especially suited for AI trading agents that assemble candidate token lists and need to eliminate dangerous tokens before execution.

## Known failure modes

- Majority of tokens in the batch cannot be fetched → call fails as unsettled rather than returning partial results
- Invalid contract address format (non-0x or wrong length) → individual token returns UNKNOWN with reason
- Token address exists on a chain other than Base → UNKNOWN with unsupported chain reason
- Exceeding 25 tokens in a single batch → request rejected with validation error
- Payment not settled (x402 protocol failure) → call blocked before execution
- Rate limiting or upstream data provider outage → UNKNOWN verdicts or full call failure

## How this service works

Screen up to 25 Base tokens in one flat-fee call: per-token SOLID / CAUTION / DANGER verdicts with scores and signals, sorted riskiest first, plus summary counts; tokens that cannot be fetched return UNKNOWN with a reason, and if most of the batch fails the call fails unsettled. Mode 'compact' returns per-token verdict and score plus the counts only. Use this when an agent holds a list of candidate tokens and needs the risky ones flagged before trading any of them.

## Output

A sorted list of per-token risk assessments — each entry includes the contract address, token symbol, verdict (SOLID/CAUTION/DANGER/UNKNOWN), and a 0-100 risk score. In full mode, each entry also includes detailed risk signals and a human-readable take on the token's market situation. Tokens that cannot be fetched return UNKNOWN with an explanatory reason. The response also includes summary counts (how many SOLID, CAUTION, DANGER, UNKNOWN). Tokens are sorted riskiest first. If most of the batch fails to resolve, the entire call fails as unsettled.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "mode": {
   "enum": [
    "full",
    "compact"
   ],
   "type": "string",
   "description": "Optional response mode, default 'full'. 'full' returns every per-token verdict in full (signals, take, market data). 'compact' returns per-token address, symbol, verdict and score (plus the reason for UNKNOWN entries) and the summary counts — the same screen, a smaller response."
  },
  "token_addresses": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "maxItems": 25,
   "minItems": 1,
   "description": "1-25 Base token contract addresses (0x...). Duplicates are screened once."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/token-verdict-batch-screener-50b32634/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from token-verdict-production.up.railway.app](https://www.zero.xyz/host/token-verdict-production.up.railway.app/llms.txt)
