# OpenVerbs Preflight x402 Inspector

> OpenVerbs Preflight x402 Inspector is a paid API for AI agents from preflight.openverbs.com, paid per call via x402, $0.006/call, status unknown (last checked 2026-09-15).

Fetches any public URL and decodes its HTTP 402 Payment Required challenge, returning price, asset, network, payTo, resource, and payment metadata — for free, before committing to payment.

## Facts

- Endpoint: POST https://preflight.openverbs.com/v1/inspect
- Price: $0.006/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/openverbs-preflight-x402-inspector-89776a05
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_a8oLSv6hRh8spZ5lebM-i

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 openverbs-preflight-x402-inspector-89776a05 -d '<json body>'
```

Example prompt: Before I pay anything, can you inspect https://api.example.com/premium-data and tell me what the x402 payment challenge says — what stablecoin, how much, which network, and the payTo address?

## When to prefer this

Use this endpoint when you need to discover and decode the payment requirements of an x402-protected resource before deciding whether to pay. It is the right choice when you want to inspect price, asset, network, payTo address, and timeout without spending any funds. Prefer this over attempting a direct paid request when you want to preview costs, validate payment parameters, or check if a resource is actually free before committing funds in an agentic payment workflow.

## Known failure modes

- SSRF rejection: private/loopback/link-local/cloud-metadata URLs are blocked and return an error
- Non-x402 URLs: if the target does not return a 402 status, the response may indicate no payment challenge found
- Malformed URL: missing or invalid URI format returns validation error
- Timeout: target server slow to respond may cause request to fail
- Non-public hosts: internal hostnames or private IP ranges rejected
- Invalid input schema: missing required fields returns 422 or similar validation error

## How this service works

Fetch any URL and, without paying, decode its x402 402 Payment Required challenge: price (atomic and formatted for known stablecoins), asset, network, payTo, resource, description, timeout and any input schema. Flags MPP and Bazaar discovery extensions. Returns free:true when no payment is needed. SSRF-hardened: public hosts only; private, loopback, link-local and cloud-metadata addresses are rejected.

## Output

Returns a JSON object containing: price in atomic units and formatted for known stablecoins, asset type, network, payTo address, resource URI, human-readable description, timeout duration, optional input schema, boolean flags for MPP and Bazaar discovery extensions, and a free:true flag when no payment is required. SSRF-hardened — rejects private, loopback, link-local, and cloud-metadata addresses.

## Request schema (JSON Schema)

```json
{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "type": "object",
 "properties": {
  "input": {
   "type": "object",
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "type": "string",
     "enum": [
      "POST"
     ]
    },
    "bodyType": {
     "type": "string",
     "enum": [
      "json",
      "form-data",
      "text"
     ]
    },
    "body": {
     "type": "object",
     "properties": {
      "url": {
       "type": "string",
       "format": "uri",
       "minLength": 1,
       "maxLength": 2048,
       "description": "Public http(s) URL of the x402 resource to inspect."
      }
     },
     "required": [
      "url"
     ],
     "additionalProperties": false
    }
   },
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "additionalProperties": false
  }
 },
 "required": [
  "input"
 ]
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/openverbs-preflight-x402-inspector-89776a05/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from preflight.openverbs.com](https://www.zero.xyz/host/preflight.openverbs.com/llms.txt)
