# HALOWERK x402werk — Offer Validate

> HALOWERK x402werk — Offer Validate is a paid API for AI agents from x402.halowerk.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-13).

Validates an x402 payment challenge object (v1 or v2) by fetching and parsing it from a URL or directly from a provided challenge object, returning detailed conformance results.

## Facts

- Endpoint: POST https://x402.halowerk.com/offer/validate
- 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/halowerk-x402werk-offer-validate-fc202555
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_7xE9h1hfefgGniVzyiRpt

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 halowerk-x402werk-offer-validate-fc202555 -d '<json body>'
```

Example prompt: Check whether this x402 challenge object I built for my API endpoint is valid and spec-compliant — here's the challenge JSON, and let me know if it's compatible with both v1 and v2 clients and whether the price looks sane.

## When to prefer this

Use this endpoint when you need to programmatically validate the correctness and spec-compliance of an x402 challenge — either by URL or by direct object — especially when debugging paywall integrations, pre-deploying new x402 offers, or checking third-party API compatibility. Prefer this over manual inspection when you need structured error details, CAIP asset validation, version detection, and v1/v2 client compatibility flags in a single call.

## Known failure modes

- Private, loopback, or link-local target URLs are rejected outright
- Timeout exceeded when fetching a slow remote challenge URL
- Malformed input object that doesn't match x402 v1 or v2 schema returns version_detected: unklar
- Remote URL returns no 402 challenge or an unexpected HTTP status
- Network errors fetching the foreign URL result in an error response

## How this service works

Validates a 402 challenge — fetched from a URL without paying, or supplied directly — against PaymentRequiredV1Schema and PaymentRequiredV2Schema of the installed @x402/core reference implementation. Reports the detected version and how it was detected, every error with field, expected, found and spec_ref naming package, version, schema and field path, whether the network is valid CAIP-2, whether the asset is a known and canonical token address or a bridged variant, whether the declared inputSch

## Output

Returns a structured object indicating overall validity, detected x402 version (v1/v2/unclear), schema validity, CAIP validity, price sanity, whether the asset is known and canonical, compatibility with v1 and v2 clients, a list of specific field-level errors (with field name, problem description, expected vs found values, and spec reference), warnings, extensions, cache status (hit/miss), and the thresholds used during validation.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "pattern": "^https?://",
   "maxLength": 2048,
   "description": "Absolute http or https URL whose 402 challenge should be fetched and validated. Nothing is paid. Private, loopback and link-local targets are rejected."
  },
  "challenge": {
   "type": "object",
   "description": "A 402 challenge object to validate directly, in x402 v1 or v2 form."
  },
  "timeout_ms": {
   "type": "integer",
   "default": 6000,
   "maximum": 12000,
   "minimum": 1000,
   "description": "Time budget for fetching the foreign challenge."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-x402werk-offer-validate-fc202555/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.halowerk.com](https://www.zero.xyz/host/x402.halowerk.com/llms.txt)
