# Forum Labs Token Counterparty Risk Screener

> Forum Labs Token Counterparty Risk Screener is a paid API for AI agents from api.forum-labs.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-14).

Screens a token mint/contract address for counterparty risk by returning a safety verdict and score based on deployer reputation analysis

## Facts

- Endpoint: POST https://api.forum-labs.com/v1/safety/screen
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/forum-labs-token-counterparty-risk-screener-bcaba71d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_JUKgfSy0FBiSz_bD8oeeT

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 forum-labs-token-counterparty-risk-screener-bcaba71d -d '<json body>'
```

Example prompt: Before my agent pays with this token, check if mint address 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU on Solana is safe to transact with — I need the verdict and risk score from Forum Labs.

## When to prefer this

Use this endpoint when an AI agent is about to send funds to or interact with an unknown token on Solana and needs a pre-flight counterparty risk check. Prefer this over generic on-chain lookups when you need a structured verdict with a deployer-cluster reputation signal and a conservative 'unknown' (never falsely 'safe') fallback. Especially valuable in agentic payment pipelines where there is no chargeback mechanism.

## Known failure modes

- Chain not 'solana' returns verdict 'unknown' — base and ethereum are not scored in v1
- Missing required fields 'mint' or 'chain' returns a validation error
- Token with insufficient on-chain history returns 'unknown' verdict rather than a false 'safe'
- degraded:true indicates the verdict may be under-calling danger due to data limitations
- Payment of 0.01 USDC via x402 required; missing or invalid payment header results in 402 response

## How this service works

Agents are starting to pay strangers, with no chargebacks and no recourse. Forum Labs is one network that checks the counterparty, bounds the spend, and keeps the receipts: endpoint reliability history, token-deployer screening, and a non-custodial paying-fetch client with hard caps.

## Output

Returns a JSON object with a verdict enum ('safe', 'caution', 'danger', or 'unknown'), a numeric risk score from 0–100 (higher = safer), the echoed token address, chain, a deployer evidence block (populated on deep routes), a degraded advisory flag indicating if the verdict may under-call danger, a disclaimer string, and a server-side freshness timestamp in epoch milliseconds.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "mint",
  "chain"
 ],
 "properties": {
  "mint": {
   "type": "string",
   "description": "Token mint / contract address (base58 for Solana)."
  },
  "chain": {
   "enum": [
    "solana",
    "base",
    "ethereum"
   ],
   "type": "string",
   "description": "Chain the token is on. Solana is fully supported in v1; base/ethereum return verdict 'unknown'."
  },
  "depth": {
   "enum": [
    "basic",
    "deep"
   ],
   "type": "string",
   "description": "Optional and ignored — the route determines the tier."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "data",
  "freshnessTs"
 ],
 "properties": {
  "data": {
   "type": "object",
   "required": [
    "token",
    "chain",
    "verdict",
    "score"
   ],
   "properties": {
    "chain": {
     "enum": [
      "solana",
      "base",
      "ethereum"
     ],
     "type": "string"
    },
    "score": {
     "type": "number",
     "description": "0-100, higher = safer."
    },
    "token": {
     "type": "string",
     "description": "Echo of the queried mint/address."
    },
    "signals": {
     "type": "object",
     "description": "Basic signals; all null in v1 (honest not-checked)."
    },
    "sources": {
     "type": "array",
     "items": {
      "type": "string"
     }
    },
    "verdict": {
     "enum": [
      "safe",
      "caution",
      "danger",
      "unknown"
     ],
     "type": "string",
     "description": "Creator-reputation verdict. 'unknown' = too little history to judge (never a false 'safe')."
    },
    "degraded": {
     "type": "boolean",
     "description": "Advisory: true if the verdict may under-call danger."
    },
    "deployer": {
     "type": "object",
     "description": "Deployer-cluster evidence block. Present (populated) on the deep route only; null on basic."
    },
    "freshnessTs": {
     "type": "number",
     "description": "Unix seconds."
    }
   },
   "additionalProperties": true
  },
  "disclaimer": {
   "type": "string"
  },
  "freshnessTs": {
   "type": "number",
   "description": "Server response timestamp (epoch ms)."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/forum-labs-token-counterparty-risk-screener-bcaba71d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.forum-labs.com](https://www.zero.xyz/host/api.forum-labs.com/llms.txt)
