# Settled Preflight Check

> Settled Preflight Check is a paid API for AI agents from settled.tools, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-02).

Runs a comprehensive pre-spend safety check on an x402 endpoint before payment, returning a pay/caution/avoid recommendation with supporting evidence.

## Facts

- Endpoint: GET https://settled.tools/v1/preflight?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/settled-preflight-check-d685b8ed
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qTvJrHYzypTS9lL50kDbN

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 settled-preflight-check-d685b8ed
```

Example prompt: Before I pay this x402 endpoint at https://api.example.com/v1/analyze, run a full preflight safety check on it — I want to know if the seller's wallet is real, the pricing looks legitimate, and whether I should actually pay or avoid it.

## When to prefer this

Use this endpoint as a mandatory gate before the first payment to any unfamiliar x402 endpoint, especially in autonomous agent workflows where repeated payments could be made without human oversight. Prefer it over manual inspection when you need on-chain wallet verification, honeypot scanning, seller reputation history, and a synthesized pay/caution/avoid recommendation in a single call. It is especially valuable when integrating third-party x402 APIs into automated pipelines where fraud or misconfigured endpoints could result in wasted funds.

## Known failure modes

- Target URL is unreachable or returns non-402 response — probe fails with error status
- payTo address is not a valid blockchain address — on-chain check returns invalid
- Malformed 402 response from target — verdict returned as 'malformed 402'
- Target endpoint has no pricing information — verdict returned as 'unpriced'
- Cache hit returns stale probe result — use force=1 to bypass 5-minute cache
- Target URL is missing or not an absolute https URL — request rejected with validation error

## How this service works

Pre-spend check for one x402 endpoint in a single signed response: fresh liveness probe on both verbs, parsed quote, payability verdict (payable / malformed 402 / cannot pay on either verb / unpriced), whether the payTo exists on-chain, the seller's other endpoints and settlement integrity, the scout's real-payment delivery result, and a honeypot scan of the listing text. Returns recommendation: pay | caution | avoid, with reasons. Call it before the first payment to an unfamiliar endpoint.

## Output

A structured JSON response containing: liveness probe results for both GET and HEAD verbs, a parsed payment quote with price and network details, a payability verdict (payable/malformed 402/cannot pay/unpriced), on-chain existence status of the payTo address, the seller's other endpoints and settlement integrity score, the scout's real-payment delivery result, and a honeypot scan of the listing text — all synthesized into a final recommendation of pay, caution, or avoid, with human-readable reasons.

## 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 you are about to pay"
      },
      "force": {
       "type": "string",
       "description": "1 to bypass the 5-minute probe cache"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://api.example.com/search",
  "payee": {
   "seller": {
    "live": 11,
    "flags": [],
    "endpoints": 12,
    "settlement_integrity": {
     "label": "organic",
     "score": 88
    }
   },
   "seen_onchain": true,
   "usdc_balance": 1840.5
  },
  "quote": {
   "pay_to": "0x52E29e0d2Aa49bfBfC548C0A9F2196F4aa51f3ea",
   "scheme": "exact",
   "network": "eip155:8453",
   "price_usd": 0.01,
   "x402_version": 2
  },
  "quality": {
   "total": 76
  },
  "reasons": [
   "live, payable on the declared verb, payee seen on-chain, no honeypot or seller flags"
  ],
  "delivery": {
   "verified": true,
   "last_delivery_at": "2026-09-27T09:00:00.000Z"
  },
  "honeypot": {
   "flags": [],
   "label": "clean"
  },
  "liveness": {
   "status": "live",
   "ok_count": 14,
   "last_ok_at": "2026-09-28T15:10:00.000Z",
   "latency_ms": 412,
   "http_status": 402,
   "probe_count": 14
  },
  "payability": {
   "verdict": "payable",
   "payable_verb": "GET",
   "declared_verb": "GET"
  },
  "attestation": {
   "hash": "0x…",
   "signer": "0x95b774e15D7DabFAd1aFc28055C24F78eBB8452A",
   "signature": "0x…"
  },
  "recommendation": "pay"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/settled-preflight-check-d685b8ed/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from settled.tools](https://www.zero.xyz/host/settled.tools/llms.txt)
