# x402 Crediting Swarm — Threat Intelligence for x402 Payments

> x402 Crediting Swarm — Threat Intelligence for x402 Payments is a paid API for AI agents from x402-crediting-swarm.vercel.app, paid per call via x402, $0.05/call, status unknown (last checked 2026-10-31).

Runs a three-node GO/NO-GO swarm analysis on an x402 Payment Required payload and vendor metadata to produce a creditability score and final recommendation on Base mainnet.

## Facts

- Endpoint: POST https://x402-crediting-swarm.vercel.app/api/swarm?utm_source=zero.xyz
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-crediting-swarm-threat-intelligence-for-x402-payments-5905f3db
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Ds04O4Lb2xD4TwSt5Wbe_

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 x402-crediting-swarm-threat-intelligence-for-x402-payments-5905f3db -d '<json body>'
```

Example prompt: Before my agent pays this x402 endpoint at https://api.example.com/resource — payTo address 0xABC123, 500 sats requested — can you run it through the crediting swarm to see if it's trustworthy and get a GO or NO-GO?

## When to prefer this

Choose this endpoint when an AI agent needs a structured GO/NO-GO decision before settling an x402 micropayment on Base mainnet — especially when vendor history, payTo address legitimacy, or endpoint reputation are unknown. Prefer this over simple on-chain lookups when you need multi-node consensus scoring and aggregated fraud flags rather than a single data point.

## Known failure modes

- HTTP 402 with PAYMENT-REQUIRED body if the $0.05 USDC x402 payment is not included or fails to settle
- HTTP 400 if the request body is missing the required payload object
- HTTP 402 if payment settlement via the CDP facilitator fails after submission
- Malformed or incomplete vendor metadata may degrade scoring accuracy without returning an error

## How this service works

3-node swarm that scores x402 Payment Required calls and returns a GO/NO-GO credit recommendation.

## Output

Returns a JSON object with a final_creditability_score (integer), final_recommendation (GO or NO-GO), trust_level string, an array of node_reports from three independent analysis nodes, aggregated_flags listing detected risk signals, and agentcash_intel with additional on-chain context. Optionally includes a caller_id for AgentMail alert routing.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "payload"
     ],
     "properties": {
      "payload": {
       "type": "object",
       "required": [
        "endpoint_url"
       ],
       "properties": {
        "payTo": {
         "type": "string",
         "description": "Observed payTo on the 402"
        },
        "vendor_id": {
         "type": "string"
        },
        "endpoint_url": {
         "type": "string",
         "description": "HTTPS resource URL from the x402 catalog entry"
        },
        "vendor_history": {
         "type": "object",
         "properties": {
          "dispute_ratio": {
           "type": "number"
          },
          "fulfillment_rate": {
           "type": "number"
          }
         }
        },
        "requested_amount_sats": {
         "type": "number"
        }
       },
       "description": "x402 Payment Required call details and vendor metadata to score",
       "additionalProperties": true
      },
      "caller_id": {
       "type": "string",
       "description": "Optional caller identifier for AgentMail alerts"
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST",
      "PUT",
      "PATCH"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "status",
      "final_creditability_score",
      "final_recommendation"
     ],
     "properties": {
      "status": {
       "type": "string"
      },
      "caller_id": {
       "type": "string"
      },
      "trust_level": {
       "type": "string"
      },
      "node_reports": {
       "type": "array"
      },
      "agentcash_intel": {
       "type": "object"
      },
      "aggregated_flags": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "final_recommendation": {
       "type": "string"
   
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "status": "success",
  "caller_id": "agentcash",
  "trust_level": "High Trust (Safe to auto-pay)",
  "node_reports": [
   {
    "node": "x402_node_alpha",
    "flags": [],
    "score": 830,
    "trust_level": "High Trust (Safe to auto-pay)",
    "recommendation": "GO"
   }
  ],
  "aggregated_flags": [],
  "final_recommendation": "GO",
  "final_creditability_score": 820
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-crediting-swarm-threat-intelligence-for-x402-payments-5905f3db/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-crediting-swarm.vercel.app](https://www.zero.xyz/host/x402-crediting-swarm.vercel.app/llms.txt)
