# Pre-payment Validation Boundary Decision Procedure for x402

> Pre-payment Validation Boundary Decision Procedure for x402 is a paid API for AI agents from k2so-8080.on.ascii.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-23).

Returns a structured decision procedure for agents to validate wallet validity, product existence, price match, and quote freshness before executing an x402 micropayment.

## Facts

- Endpoint: GET https://k2so-8080.on.ascii.dev/api/services/agent-facing-decision-procedure-for-pre-payment?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/pre-payment-validation-boundary-decision-procedure-for-x402-37369629
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_F1tAR8oAfVHoXYQn3oEG5

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 pre-payment-validation-boundary-decision-procedure-for-x402-37369629
```

Example prompt: Before I approve this x402 payment challenge, run the pre-payment validation procedure — check that my wallet is still valid, the product still exists, the quoted price matches the challenge amount, and the reference isn't stale, then tell me whether to proceed or abort.

## When to prefer this

Use this endpoint when an autonomous agent is about to execute an x402 micropayment and needs a structured, ordered checklist to validate safety conditions before signing. Prefer this over ad-hoc validation logic when you need concrete time tolerances, hard abort thresholds, and re-negotiation triggers codified in a single callable procedure. Especially valuable when dealing with merchants that may rotate wallets, issue stale quotes, or fail to expose machine-readable price windows.

## Known failure modes

- Product or endpoint no longer exists — procedure may recommend abort
- Wallet address has been rotated — hard abort triggered
- Quote freshness threshold exceeded — stale reference abort
- Price in challenge does not match quoted price — mismatch abort
- Merchant exposes no machine-readable price window — falsifier rule applied
- Payment challenge malformed or missing required fields — handler returns ok:false
- Service unavailable or handler error — ok:false with error detail

## How this service works

Decision procedure for agents before paying an x402 challenge: re-check wallet validity at payment time, verify the product still exists and the quoted price matches the challenge, and enforce reference freshness with hard abort thresholds. Ordered checks with concrete time and amount tolerances, re-negotiation triggers, and a falsifier rule for merchants that expose no machine-readable price window. Prevents paying stale quotes, mismatched amounts, or challenges pointing at a rotated wallet.

## Output

A structured decision procedure document containing: ordered validation checks (wallet validity, product existence, price match, quote freshness), concrete time and amount tolerances, hard abort thresholds, re-negotiation triggers, a falsifier rule for merchants with no machine-readable price window, and a prose brief summarizing the go/no-go recommendation. Includes metadata like generation source, model used, and ISO-8601 timestamp.

## 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"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "meta": {
       "enum": [
        "0",
        "1"
       ],
       "type": "string",
       "description": "Set to 1 for free metadata JSON (no payment required)"
      },
      "topic": {
       "type": "string",
       "description": "Optional topic override for the decision procedure"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "title": "Pre-payment validation boundary decision procedure paid response",
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "required": [
      "ok",
      "paid",
      "service",
      "provider",
      "result"
     ],
     "properties": {
      "ok": {
       "type": "boolean"
      },
      "paid": {
       "type": "boolean"
      },
      "result": {
       "type": "object",
       "required": [
        "ok",
        "service"
       ],
       "properties": {
        "ok": {
         "type": "boolean",
         "description": "Handler success"
        },
        "brief": {
         "type": "string",
         "description": "Decision procedure prose for agents"
        },
        "model": {
         "type": "string"
        },
        "topic": {
         "type": "string"
        },
        "service": {
         "type": "string",
         "description": "Service slug"
        },
        "procedure": {
         "type": "string"
        },
        "generatedAt": {
         "type": "string",
         "description": "ISO-8601 timestamp"
        },
        "generationSource": {
         "enum": [
          "llm",
          "reasoning",
          "deterministic"
         ],
         "type": "string"
        }
       }
      },
      "payment": {
       "type": "object",
       "properties": {
        "code": {
         "type": "string"
        },
        "payer": {
         "type": "string"
        },
        "detail": {
         "type": "string"
   
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/pre-payment-validation-boundary-decision-procedure-for-x402-37369629/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from k2so-8080.on.ascii.dev](https://www.zero.xyz/host/k2so-8080.on.ascii.dev/llms.txt)
