# x402 Doctor Preflight Check

> x402 Doctor Preflight Check is a paid API for AI agents from x402-doctor.fizzl.eu, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-12).

Pre-flight safety check for an x402 payment endpoint — returns go/caution/no_go verdict, recommended payment option, and reasons before your agent pays anything

## Facts

- Endpoint: GET https://x402-doctor.fizzl.eu/api/v1/preflight?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-doctor-preflight-check-92fc6dd5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qbsKZuQLoYLdF-hca9wuq

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-doctor-preflight-check-92fc6dd5
```

Example prompt: Before you pay that x402 endpoint at https://some-api.example.com/data, run a preflight check on it with my budget of $0.05 — tell me if it's safe to pay and which payment option you'd recommend.

## When to prefer this

Use this endpoint whenever an AI agent is about to make an x402 payment and needs a safe, non-paying preflight check first. It is specifically designed for the x402 protocol and understands CAIP-2 networks, USD budget limits, HTTPS requirements, and known token validation — making it far more appropriate than a generic HTTP probe or manual inspection. Prefer this over the sibling debug endpoint when you want a quick go/no-go decision rather than a deep diagnostic of a broken endpoint.

## Known failure modes

- URL is missing or malformed — returns error without verdict
- Target endpoint is unreachable — may surface as caution or no_go with connectivity reason
- x402 header parsing failure if target returns malformed 402 response
- Budget exceeded — verdict is no_go with over_budget reason code
- Non-HTTPS endpoint — verdict is no_go with reason code for missing HTTPS
- Unknown or unsupported token — flagged as caution or no_go

## How this service works

Is this x402 endpoint safe to pay? Check it before your AI agent pays: go / caution / no_go, the recommended payment option, and why (payment would fail, over your budget, price above advertised, not HTTPS, unknown token). Never pays the endpoint. Cached 10 min.

## Output

Returns a JSON object with: a verdict enum (go, caution, or no_go), a safe_to_pay boolean, a human-readable summary, an array of payment options each with USD cost, network, asset symbol, payable status, and any problems found, a recommended_option index, and a reasons array with level (no_go/caution/info), code, and message for each issue detected. Results are cached for 10 minutes.

## 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"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "description": "The x402 endpoint you are about to pay."
      },
      "method": {
       "enum": [
        "GET",
        "POST"
       ],
       "type": "string",
       "description": "HTTP method you will call it with. Default: try GET, then POST."
      },
      "max_usd": {
       "type": "string",
       "description": "Your budget per call in USD; above it the verdict is no_go."
      },
      "network": {
       "type": "string",
       "description": "CAIP-2 network you want to pay on, e.g. eip155:8453 or solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "url",
      "verdict",
      "safe_to_pay",
      "summary",
      "options",
      "reasons"
     ],
     "properties": {
      "url": {
       "type": "string"
      },
      "cached": {
       "type": "boolean"
      },
      "method": {
       "type": [
        "string",
        "null"
       ]
      },
      "options": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "index",
         "payable",
         "problems"
        ],
        "properties": {
         "usd": {
          "type": [
           "number",
           "null"
          ]
         },
         "index": {
          "type": "integer"
         },
         "amount": {
          "type": [
           "string",
           "null"
          ]
         },
         "method": {
          "type": [
           "string",
           "null"
          ],
          "description": "MPP payment method (evm, tempo, stripe); absent for x402 options"
         },
         "pay_to": {
          "type": [
           "string",
           "null"
          ]
         },
         "network": {
          "type": [
           "string",
          
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-doctor-preflight-check-92fc6dd5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-doctor.fizzl.eu](https://www.zero.xyz/host/x402-doctor.fizzl.eu/llms.txt)
