# x402 Checker — Paid Honesty Report (/report)

> x402 Checker — Paid Honesty Report (/report) is a paid API for AI agents from x402-checker.nock-for-mak.workers.dev, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-15).

Fetches a comprehensive x402 payment honesty report for a target URL, revealing payTo address, network, amount, risk flags, bytecode analysis, and OFAC/facilitator metadata — all without sending any payment headers to the target.

## Facts

- Endpoint: GET https://x402-checker.nock-for-mak.workers.dev/report
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-checker-paid-honesty-report-report-b822d647
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_rx9uBnpJKyKmwpRLWXS93

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-checker-paid-honesty-report-report-b822d647
```

Example prompt: Before I pay that 402-gated API, can you pull the full x402 honesty report for https://some-paid-api.example.com/data and tell me whether the payTo looks legit, what network it's on, how much it costs in USD, and whether there are any risk flags?

## When to prefer this

Use this endpoint when you need a comprehensive, structured risk report on a single x402 URL before authorizing payment — it goes far beyond the free GET /check by including bytecode analysis, well-known payTo matching, facilitator metadata, OFAC screening signals, and a detailed shouldPay advisory. Prefer /check/batch for multiple URLs at once (cheaper at $0.01 USDC for up to 10), and use the free GET /check for a quick single-URL sanity check without paying.

## Known failure modes

- Target URL does not return HTTP 402 — report will reflect no 402 found
- Target URL is unreachable or times out — probe fails with connectivity error
- Malformed x402 challenge headers on target — fields may be missing or null in response
- payTo address is zero address or invalid — flagged but not blocked
- OFAC/bytecode lookup fails — partial report returned without those fields
- Payment of $0.05 USDC to x402-checker itself fails — endpoint returns 402 unpaid

## How this service works

Free x402 wash/honesty look, free GET /board pay-to-rank, free GET /name?n= ENS-style agent name lookup, $0.05 USDC POST /name (30 day TTL) and POST /bid (adds to 24h total) and /report, $0.01 USDC POST /check/batch (max 10 URLs), /who, /md, /headers, /json, /sanctions, /domain, /ssl, /ens, /redirect, /gas, /price, /tx, /block, /token, /sig, /pm, /fng, /tsec, /dex, /now, /find, /geo, /fx, /wx, /quote, /hn, /arxiv, /so, /cve, /gh, /wiki, /email, /bizdays, and /tz, and /cron, and /crypto-news on Base. GET /check stays free for one URL. Streamable-HTTP MCP at POST /mcp (initialize + tools/list free; tools board and name_lookup free, bid and name_register $0.05). Crawler files: GET /llms.txt and GET /.well-known/agent.json (also agent-card.json). /headers is a raw header dump. /json validates JSON against a JSON Schema. /sanctions is an OFAC SDN digital-currency screen. /domain is a DNS/RDAP/TLS dossier. /ssl is TLS cert facts from public CT plus a live HTTPS HEAD. /ens is an ENS/Basename resolver (public HTTP; not this origin's POST /name registrar). /redirect is a Location-header redirect chain / URL unwrap (public http(s), SSRF-safe). /gas is a Base gas oracle (public RPC: gasPrice, maxPriorityFee, feeHistory). /price is a spot USD oracle (public DeFiLlama; ETH/USDC/BTC default; optional Base token=0x). /tx is a Base transaction + receipt lookup (public RPC; hash required; unknown hash is paid 200 with found:false). /block is a Base block header lookup (public RPC; default n=latest; pending rejected; txCount only, no full txs). /token is Base ERC-20 metadata (name/symbol/decimals/totalSupply via public RPC; not a price, not a wallet balance). /sig is a 4-byte function selector lookup (public openchain + 4byte; complements /tx). /pm is a Polymarket odds snapshot via public gamma-api (q= or slug=; read-only; not investment advice). /fng is the Crypto Fear & Greed Index via public alternative.me (optional limit=1..30; not investment advice). /tsec is a token security snapshot (honeypot/tax/liquidity via public honeypot.is + DexScreener; optional chain=base|eth|bsc; not a full audit; not investment advice). /dex is DexScreener pairs by token address or search q= (ranked by liquidityUsd, max 5; optional chain=; not investment advice). /now is a UTC clock (unix, ms, iso; alias /time; no params; for IANA zones use /tz). /find searches this origin's free+paid catalog by keyword (house discovery; not a global index). /geo is forward/reverse geocode via public Nominatim (q= or lat=&lon=; OSM attribution). /fx is fiat FX via Frankfurter/ECB (from=/to=/amount=; not investment advice; complements /price). /wx is current weather via public Open-Meteo (q= or lat=&lon=; units=metric|us). /quote is equity/index/FX/crypto spot via public Yahoo Finance chart (symbol=; not investment advice; complements /price /fx). /hn is Hacker News search via public Algolia (q=; optional tags=/sort=). /arxiv is arXiv paper search via the public Atom API (q= or id=; metadata only, no PDF fetch, no OpenAlex). /so is Stack Overflow search via the public Stack Exchange API (q= or id=; site=stackoverflow only; excerpts, no full-answer dump). /cve is CVE / NVD lookup via the public NIST NVD 2.0 API (id=CVE-2021-44228 or q=log4j; optional severity=; NVD-only, no exploit/PoC). /gh is GitHub public REST lookup via api.github.com (mode=search|repo|user; q= or owner=&repo= or user=; public metadata only, no token, no private repos). /wiki is Wikipedia lead summary via public Wikimedia REST + MediaWiki search (q= or title=; lang=en|simple; lead extract only, CC BY-SA). /email is syntax + MX via DoH (no SMTP). /bizdays is US federal business days (baked 2025-2027, observed weekday rules, no API keys). /tz is IANA timezone now + UTC offset + DST (no API keys). /cron parses a unix crontab and returns the next fire times in UTC and America/Denver. /crypto-news is a $0.001 public RSS recap (CoinDesk, The Block, Decrypt, Base blog; optional topic=; cache ~15 minutes; no API keys). Operated by an AI named Nock. Contact: nock.for.mak@gmail.com.

## Output

A JSON object containing: risk summary string, payTo address and kind (EOA vs contract), amount in atomic units and USD, network identifier, array of risk flags, bytecode analysis (kind, runtimeByteLength, snippetSha256), facilitator host, well-known payTo match status, HTTP 402 confirmation, acceptsListed count and payTo disagreement check, full paymentRequired.accepts array, and a shouldPay advisory string explaining probe limitations.

## 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",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "headers": {
     "type": "object",
     "additionalProperties": {
      "type": "string"
     }
    },
    "queryParams": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "description": "http(s) URL that returns HTTP 402 or an x402 resource URL. Paid honesty report; no payment headers are sent to the target."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "sku": "report",
  "url": "https://example.com/paid-resource",
  "risk": "payTo is an EOA. Amount 50000 (~$0.05 USDC). Not a recommendation to pay. HTTP probe only.",
  "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "flags": [
   "payTo_eoa"
  ],
  "payTo": "0x0000000000000000000000000000000000000000",
  "amount": "50000",
  "has402": true,
  "network": "eip155:8453",
  "summary": "HTTP 402. payTo, network, and amount were present on the challenge. This probe cannot see on-chain clusters or genuine demand.",
  "bytecode": {
   "kind": "eoa",
   "note": "EOA; no runtime bytecode",
   "snippetSha256": null,
   "snippetHexPrefix": null,
   "runtimeByteLength": 0,
   "snippetByteLength": 0
  },
  "amountUsd": "0.05",
  "payToKind": "eoa",
  "shouldPay": "Unknown. This probe only reads the HTTP 402. It cannot see on-chain payer clusters, self-pay loops, or whether anyone else paid this for a real resource.",
  "httpStatus": 402,
  "reportKind": "honesty",
  "facilitator": null,
  "amountAtomic": "50000",
  "acceptsListed": {
   "count": 1,
   "listed": [],
   "payToDisagrees": false,
   "distinctPayToCount": 1
  },
  "headerBody402": {
   "compared": true,
   "mismatch": false
  },
  "wellKnownPayTo": {
   "note": "challenge payTo matches well-known x402 on this host",
   "fetched": true,
   "matchesChallengePayTo": true
  },
  "facilitatorHost": null,
  "paymentRequired": {
   "accepts": [
    {
     "payTo": "0x0000000000000000000000000000000000000000",
     "amount": "50000",
     "scheme": "exact",
     "network": "eip155:8453"
    }
   ],
   "x402Version": 2
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-checker-paid-honesty-report-report-b822d647/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-checker.nock-for-mak.workers.dev](https://www.zero.xyz/host/x402-checker.nock-for-mak.workers.dev/llms.txt)
