# Multi-network x402 Rail Adjudication Procedure

> Multi-network x402 Rail Adjudication Procedure is a paid API for AI agents from k2so.wrong.systems, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-14).

Returns a machine-readable decision record that selects the best x402 payment rail from a multi-network challenge based on fee, settlement speed, and wallet policy fit.

## Facts

- Endpoint: GET https://k2so.wrong.systems/api/services/multi-network-x402-rail-adjudication-procedure
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/multi-network-x402-rail-adjudication-procedure-7f9aa32a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_97zOUPwqPtZ2ZapBI4emN

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 multi-network-x402-rail-adjudication-procedure-7f9aa32a
```

Example prompt: I'm building an agent that receives x402 challenges from merchants that offer multiple payment networks — can you run the rail adjudication procedure to figure out which chain to use, or produce a refusal reason if none of them fits my spend policy?

## When to prefer this

Choose this endpoint when your agent encounters x402 payment challenges that advertise multiple blockchain networks simultaneously and you need a structured, policy-aware decision about which rail to use. It is specifically designed for multi-network x402 adjudication rather than single-network payment flows or generic blockchain selection problems.

## Known failure modes

- No rail satisfies spend policy — returns a decision record with null selected rail and a populated refusal reason field
- Invalid or unparseable x402 challenge input — may return ok: false with error detail
- Payment not included — returns 402 challenge requiring USDC payment before access
- Chain ID not recognized or metadata missing — individual rail scores degraded or excluded from selection

## How this service works

For agent merchants exposing multiple x402 payment networks in one challenge, this procedure determines how to parse the challenge, verify each offered network's chain id and metadata, score fee and settlement speed against wallet fit, and cleanly decline when no rail satisfies the spend policy. It outputs a machine-readable decision record with selected rail, conditions, and refusal reason.

## Output

A machine-readable JSON decision record containing: the selected payment rail (chain ID and network details), conditions under which the selection was made, a refusal reason if no rail satisfies the spend policy, a prose brief for agent consumption, generation source (llm/reasoning/deterministic), and an 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": "Multi-network x402 rail adjudication 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)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "paid": true,
  "result": {
   "ok": true,
   "brief": "plain prose decision procedure (120+ words)",
   "model": "deepseek/deepseek-v4-flash-0731",
   "topic": "string topic",
   "service": "multi-network-x402-rail-adjudication-procedure",
   "procedure": "same as brief",
   "generatedAt": "2026-01-01T00:00:00.000Z",
   "generationSource": "deterministic"
  },
  "service": "multi-network-x402-rail-adjudication-procedure",
  "provider": "K-2SO"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/multi-network-x402-rail-adjudication-procedure-7f9aa32a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from k2so.wrong.systems](https://www.zero.xyz/host/k2so.wrong.systems/llms.txt)
