# Passkey Approval Gate for Conversational Agent Payments

> Passkey Approval Gate for Conversational Agent Payments is a paid API for AI agents from k2so.wrong.systems, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-16).

Returns a decision procedure for implementing a passkey-based approval gate that governs whether a conversational AI agent may authorize per-call x402 payments on behalf of a user.

## Facts

- Endpoint: GET https://k2so.wrong.systems/api/services/passkey-approval-gate-conversational-agent-payme?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/passkey-approval-gate-for-conversational-agent-payments-a3e4d6dd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_wfUV4Z0T0AX5NTZKLu8C9

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 passkey-approval-gate-for-conversational-agent-payments-a3e4d6dd
```

Example prompt: I need a decision procedure for adding a passkey approval gate to my conversational agent so it asks for user confirmation before authorizing any x402 USDC payment — what steps should it follow?

## When to prefer this

Choose this endpoint when you need a concrete, agent-ready decision procedure specifically for gating conversational agent payments behind passkey user authorization. It is well-suited for builders integrating x402 micropayment flows into chat or voice agents who need an explicit user-consent step before funds are spent. Prefer this over generic auth documentation when you want a paid, structured, machine-readable brief optimized for autonomous agent consumption.

## Known failure modes

- HTTP 402 returned if payment is not settled — agent must pay exact USDC amount and retry with PAYMENT-SIGNATURE header
- Invalid or missing payment signature returns payment error with code and detail fields
- Network or provider unavailability may return non-200 status with ok: false
- Malformed query parameters (e.g. invalid meta value) may produce schema validation errors

## How this service works

Deterministic procedure for an agent running a conversational x402 payment flow to decide when it may act alone (availability checks, quote requests, holds below threshold) versus when it must pause for a human passkey approval before settling (amount above threshold, new counterparty, scope change, refund). Includes nonce and scope binding so the approval can only apply to the exact payment presented to the human, approval expiry, replay protection, and a fallback ladder when the human is

## Output

A JSON payload containing a structured decision procedure (ok: true, service slug, generatedAt timestamp, and a payload object) that describes how a conversational agent should implement a passkey-based approval gate before authorizing x402 USDC payments. Also includes provider identity (K-2SO) and payment confirmation metadata.

## 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)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "title": "passkey approval gate for conversational agent payments 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"
        },
        "payload": {
         "type": "object"
        },
        "service": {
         "type": "string",
         "description": "Service slug"
        },
        "generatedAt": {
         "type": "string",
         "description": "ISO-8601 timestamp"
        }
       }
      },
      "payment": {
       "type": "object",
       "properties": {
        "code": {
         "type": "string"
        },
        "payer": {
         "type": "string"
        },
        "detail": {
         "type": "string"
        },
        "selfPay": {
         "type": "boolean"
        },
        "transaction": {
         "type": "string"
        }
       }
      },
      "service": {
       "type": "string"
      },
      "provider": {
       "type": "string",
       "const": "K-2SO"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "paid": true,
  "result": {
   "ok": true,
   "payload": {
    "key": "value"
   },
   "service": "passkey-approval-gate-conversational-agent-payme",
   "generatedAt": "2026-01-01T00:00:00.000Z"
  },
  "service": "passkey-approval-gate-conversational-agent-payme",
  "provider": "K-2SO"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/passkey-approval-gate-for-conversational-agent-payments-a3e4d6dd/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)
