# Grokbot x402 Preflight

> Grokbot x402 Preflight is a paid API for AI agents from x402-preflight-grokbot.netlify.app, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-31).

Inspects an x402 pay-per-call endpoint before payment, returning offers, pricing, verdict, and warnings so an agent can decide whether to pay.

## Facts

- Endpoint: GET https://x402-preflight-grokbot.netlify.app/api/preflight?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/grokbot-x402-preflight-e1bd8ecf
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_w1X1qcsHB1E0oXZHfLPGq

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 grokbot-x402-preflight-e1bd8ecf
```

Example prompt: Before I pay that x402 API at https://gas.apitoll.cloud/v1/base/gas?blocks=20, run a preflight check on it — GET method — and tell me the verdict, what it's charging, and any warnings so I can decide if it's safe to pay.

## When to prefer this

Use this endpoint when an AI agent encounters an x402 payment-gated URL and needs to evaluate it before committing USDC — especially when you want an independent verdict on pricing fairness, Bazaar listing status, or suspicious payment parameters. Prefer this over blindly calling the target endpoint, as it costs only $0.01 and can prevent wasted or fraudulent payments.

## Known failure modes

- Target URL is not an x402 endpoint → verdict returns 'not_x402'
- Target endpoint is unreachable or times out → latencyMs will be high, httpStatus may be absent
- Offer price exceeds max_usd ceiling → flagged in warnings array
- Malformed or missing 'url' query parameter → request rejected
- Target returns non-standard x402 headers → parsing errors or caution verdict

## How this service works

Pay-per-call tools for AI agents: read a web page safely with prompt-injection warnings ($0.002), or check an x402 endpoint before paying it ($0.01). USDC on Base, no account.

## Output

A JSON object with a verdict enum (pay, caution, do_not_pay, or not_x402), an array of payment offers including amount in atomic units and USD, the recommended offer, an array of warnings and reasons, the HTTP status returned by the target, round-trip latency in milliseconds, and whether the endpoint is listed on the Bazaar registry.

## 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": "Absolute https URL of the x402 endpoint to inspect (include its query string)"
      },
      "method": {
       "enum": [
        "GET",
        "POST"
       ],
       "type": "string",
       "description": "HTTP method the target expects. Default GET"
      },
      "max_usd": {
       "type": "string",
       "description": "Optional. Your price ceiling in USD; offers above it are flagged"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "bazaar": {
       "type": "object"
      },
      "offers": {
       "type": "array"
      },
      "reasons": {
       "type": "array"
      },
      "verdict": {
       "enum": [
        "pay",
        "caution",
        "do_not_pay",
        "not_x402"
       ],
       "type": "string"
      },
      "warnings": {
       "type": "array"
      },
      "latencyMs": {
       "type": "integer"
      },
      "httpStatus": {
       "type": "integer"
      },
      "recommendedOffer": {
       "type": [
        "object",
        "null"
       ]
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "bazaar": {
   "listed": true,
   "checked": true
  },
  "method": "GET",
  "offers": [
   {
    "flags": [],
    "payTo": "0xcc69d619E6053F88A4845066518f465bD06Fc96c",
    "scheme": "exact",
    "network": "eip155:8453",
    "priceUsd": 0.001,
    "amountAtomic": "1000",
    "networkLabel": "USDC on Base",
    "assetIsCanonicalUsdc": true
   }
  ],
  "target": "https://gas.apitoll.cloud/v1/base/gas?blocks=20",
  "reasons": [],
  "verdict": "pay",
  "warnings": [],
  "latencyMs": 180,
  "httpStatus": 402,
  "x402Version": 2
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/grokbot-x402-preflight-e1bd8ecf/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-preflight-grokbot.netlify.app](https://www.zero.xyz/host/x402-preflight-grokbot.netlify.app/llms.txt)
