# Vextorium x402 Endpoint Inspector

> Vextorium x402 Endpoint Inspector is a paid API for AI agents from api.vextorium.com, paid per call via x402, $0.004/call, status unknown (last checked 2026-10-10).

Inspects any x402 payment-gated endpoint before paying, returning pricing, asset details, payee address risk, authorization timeout, Bazaar metadata, and a clear risk verdict.

## Facts

- Endpoint: POST https://api.vextorium.com/v1/x402-inspect?utm_source=zero.xyz
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/vextorium-x402-endpoint-inspector-37a599fa
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_S5KV49trox-Aj1e0wswzi

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 vextorium-x402-endpoint-inspector-37a599fa -d '<json body>'
```

Example prompt: Before my agent pays for that x402 endpoint at https://api.example.com/v1/some-service, can you inspect it and tell me the price, the pay-to address, whether it's a contract, what network it's on, and if there are any risk alerts?

## When to prefer this

Use this endpoint whenever an AI agent or user needs to evaluate an x402-gated API before committing payment — especially to detect non-standard assets, smart contract payees, unusual authorization timeouts, or missing Bazaar profiles. Prefer this over blindly calling and paying x402 endpoints, particularly for unfamiliar or third-party APIs. It is the right choice when the primary concern is pre-payment risk assessment rather than actually invoking the underlying service.

## Known failure modes

- Target URL is not an x402 endpoint (is_x402: false, no payment_options returned)
- Target URL is unreachable or times out (network error response)
- Asset is non-standard or non-USDC token (flagged in alerts, asset_is_official_usdc: false)
- Pay-to address is a smart contract without clear explanation (alert level warning or error)
- Bazaar profile absent for unknown endpoint (bazaar_profile: false, may increase risk)
- Malformed URL input causes validation error before inspection

## How this service works

Check any x402 endpoint before paying, without paying: price in USD per network, asset (flags anything that is not official USDC), pay-to address and whether it is a contract, authorization timeout, Bazaar metadata, and risk alerts with a clear verdict.

## Output

Returns a structured JSON object with: the inspected URL, is_x402 boolean, x402 protocol version, response content type, verdict string (e.g. 'ok' or a risk label), an array of risk alerts with severity levels and messages, a list of payment_options each containing network name, USD price, asset address, official USDC flag, pay-to address, contract flag, unit amount, and max authorization time in seconds, plus a Bazaar profile flag and a note reminding the caller to verify the payee address independently.

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "description": "Full URL of the x402 endpoint"
      },
      "body": {
       "type": "object",
       "description": "Optional JSON body to send (some endpoints price by input)"
      },
      "method": {
       "enum": [
        "POST",
        "GET"
       ],
       "type": "string",
       "description": "HTTP method (POST default, or GET)"
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": [
      "object",
      "null"
     ],
     "properties": {
      "url": {
       "type": [
        "string",
        "null"
       ]
      },
      "note": {
       "type": [
        "string",
        "null"
       ]
      },
      "alerts": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": [
         "null",
         "object"
        ],
        "properties": {
         "level": {
          "type": [
           "string",
           "null"
          ]
         },
         "message": {
          "type": [
           "string",
           "null"
          ]
         }
        }
       }
      },
      "is_x402": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "verdict": {
       "type": [
        "string",
        "null"
       ]
      },
      "description": {
       "type": [
        "string",
        "null"
       ]
      },
      "version_x402": {
       "type": [
        "number",
        "null"
       ]
      },
      "response_type": {
       "type": [
        "string",
        "null"
       ]
      },
      "bazaar_profile": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "payment_options": {
       "type": [
        "array",
        "null"
       ],
       "it
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://api.vextorium.com/validar-iban-pago",
  "note": "Inspection without paying. Always check that the payee address is the one you expect.",
  "alerts": [
   {
    "level": "info",
    "message": "On Base the recipient is a contract, not a regular wallet."
   }
  ],
  "is_x402": true,
  "verdict": "ok",
  "description": "IBAN validation (ISO 13616 mod-97 and per-country length, SEPA membership; for Spain also the national CCC check digits and bank name). Computed locally, IBA...",
  "version_x402": 2,
  "response_type": "application/json",
  "bazaar_profile": true,
  "payment_options": [
   {
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "pay_to": "HcjfmZLgWRZzwj4deEiS7pewc4KBYSw39mW5nTyt3pz2",
    "schema": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "price_usd": 0.003,
    "network_name": "Solana",
    "units_amount": "3000",
    "max_time_seconds": 300,
    "pay_to_is_contract": null,
    "asset_is_official_usdc": true
   },
   {
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "pay_to": "0xb9f06D2734B7E9D7b21B64C4D8b95bd774b71aCf",
    "schema": "exact",
    "network": "eip155:8453",
    "price_usd": 0.003,
    "network_name": "Base",
    "units_amount": "3000",
    "max_time_seconds": 300,
    "pay_to_is_contract": true,
    "asset_is_official_usdc": true
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/vextorium-x402-endpoint-inspector-37a599fa/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.vextorium.com](https://www.zero.xyz/host/api.vextorium.com/llms.txt)
