# 402utils x402 Payment Requirements Probe

> 402utils x402 Payment Requirements Probe is a paid API for AI agents from 402utils.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-13).

Probes a third-party endpoint to decode its x402 payment requirements without sending any payment, returning normalized pricing, asset, network, and discovery metadata.

## Facts

- Endpoint: GET https://402utils.com/v1/x402-probe
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/402utils-x402-payment-requirements-probe-20baabf4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Q4CDz8P3CBCVuNRoUNV8T

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 402utils-x402-payment-requirements-probe-20baabf4
```

Example prompt: Before I pay anything, can you probe https://api.example.com/some-paid-endpoint and tell me what x402 payment it requires — the price, asset, network, and who to pay?

## When to prefer this

Use this endpoint when you need to inspect the x402 payment requirements of a third-party API before integrating or paying it — especially when you want to compare pricing across x402 endpoints, build payment-aware routing logic, or verify that an endpoint actually speaks x402 before committing funds. It is the right choice over manually parsing 402 headers because it normalizes both v1 (JSON body) and v2 (base64 PAYMENT-REQUIRED header) formats into a consistent structure and includes Bazaar discovery metadata.

## Known failure modes

- Target URL is not reachable or times out after 8 seconds — returns error or timeout indication
- Target redirects more than once — returns {isX402: false, reason: 'too_many_redirects', status}
- Target returns 402 but with undecodable payload — returns {isX402: false, reason: 'undecodable_402', status}
- Target is not an x402 endpoint — returns {isX402: false, status: <actual HTTP status>}
- SSRF check blocks internal/private IP targets — request rejected before probing
- Input URL is missing or malformed — validation error returned

## How this service works

Micro API utilities for AI agents, priced per call and paid in USDC over the x402 protocol. PDF, screenshot, OG-image and more — no signup, no keys.

## Output

Returns a JSON object with isX402 (boolean), the HTTP status the target returned, and when x402 is detected: an array of price options each containing amount in atomic units, asset identifier, network ID, payTo address, scheme, and optional maxTimeoutSeconds; plus the resource URL, human description, x402 protocol version (1 or 2), and any Bazaar discovery metadata. Non-x402 targets return {isX402: false, status}.

## 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",
       "format": "uri",
       "description": "Public http(s) URL of the endpoint to probe (required)."
      }
     },
     "description": "Query string only."
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "isX402",
      "status"
     ],
     "properties": {
      "isX402": {
       "type": "boolean",
       "description": "True when the target answered 402 with decodable x402 payment requirements."
      },
      "prices": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "asset": {
          "type": "string",
          "description": "Asset contract address or identifier."
         },
         "payTo": {
          "type": "string"
         },
         "amount": {
          "type": "string",
          "description": "Price in atomic units of the asset (e.g. 6-decimal USDC)."
         },
         "scheme": {
          "type": "string"
         },
         "network": {
          "type": "string",
          "description": "Network id, e.g. eip155:8453 (v2) or base-sepolia (v1)."
         },
         "maxTimeoutSeconds": {
          "type": "number"
         }
        }
       },
       "description": "One entry per accepts[] payment option; fields are copied only when advertised."
      },
      "reason": {
       "enum": [
        "undecodable_402",
        "too_many_redirects"
       ],
       "type": "string",
       "description": "Why isX402 is false despite an unusual (but definitive) response."
      },
      "status": {
       "type": "integer",
       "description": "HTTP status the target answered with."
      },
      "resource": {
       "type": "string",
       "description": "Resource URL advertised in the payment payload."
      },
      "discovery": {
       "type": "object",
       "d
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "isX402": true,
  "prices": [
   {
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "payTo": "0x209693Bc6afc0C5328bA36FaF03C514EF312287C",
    "amount": "2000",
    "scheme": "exact",
    "network": "eip155:8453",
    "maxTimeoutSeconds": 60
   }
  ],
  "status": 402,
  "resource": "https://402utils.com/v1/rss-to-json",
  "description": "Fetch an RSS 2.0 or Atom feed and return clean JSON.",
  "x402Version": 2
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/402utils-x402-payment-requirements-probe-20baabf4/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 402utils.com](https://www.zero.xyz/host/402utils.com/llms.txt)
