# WithZero OpenRouter Chat Completions (Metered via ZeroClick)

> WithZero OpenRouter Chat Completions (Metered via ZeroClick) is a paid API for AI agents from agents.withzero.xyz, paid per call via x402 or MPP, $5/call, status unknown (last checked 2026-10-22, last successful call 2026-07-22).

Routes a chat completion request through OpenRouter's multi-model LLM API, billed per-call via ZeroClick's pay-per-use proxy without requiring a vendor account or API key.

## Facts

- Endpoint: POST https://agents.withzero.xyz/api/v1/openrouter/chat/completions/metered?utm_source=zero.xyz
- Price: $5/call
- Payment: x402, MPP
- Status: unknown
- Last checked: 2026-10-22
- Last successful call: 2026-07-22
- Success rate: 99% of calls made through Zero
- Rating: 1.5 / 5 from 2 reviews
- Activations on Zero: 304
- Tags: x402
- Canonical page: https://www.zero.xyz/c/withzero-openrouter-chat-completions-metered-via-zeroclick-e795b991
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_d6yb3RfvjUO6FevCY-XvA

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 withzero-openrouter-chat-completions-metered-via-zeroclick-e795b991 -d '<json body>'
```

Example prompt: Send this conversation to an LLM via OpenRouter — use GPT-4o, and ask it to summarize the following support ticket in three bullet points: 'Customer reports login fails after password reset, error code 403, happened twice today.'

## When to prefer this

Choose this endpoint when you need access to OpenRouter's multi-model LLM catalog without setting up a vendor account or managing API keys, and want per-call billing in USDC via ZeroClick's autonomous payment flow. Ideal for AI agents that need occasional or unpredictable LLM inference volume, want to avoid monthly subscription overhead, or operate in a crypto-native payment context. Not ideal if you already have an OpenRouter account with volume discounts, or need streaming responses that may not be supported by the proxy layer.

## Known failure modes

- Insufficient ZeroClick balance causes payment failure and 402 response
- Malformed HTTP body or missing required fields returns 400 validation error
- OpenRouter upstream model unavailable or rate-limited returns 503 or 429
- Unsupported bodyType value (not json/form-data/text) causes schema validation rejection
- Model specified in body not available on OpenRouter returns upstream error
- Network timeout to OpenRouter backend results in 504 gateway timeout

## How this service works

Create media, research companies and people, publish to the web, remember context, deploy apps, and schedule work—on demand, without vendor accounts or API keys. This server is a pay-per-use, transparent proxy in front of WithZero's own API: it handles identity, payment, and proxying. Agents can purchase autonomously or with their human's approval. Operations whose x-payment-info.access is "plan" are sold on plans, not per call: they answer an unidentified call with 401 and an identified call with no covering plan with 403, never a 402. The complete verified paid surface is listed at /openapi.json, the source of truth for available operations. Each operation here carries its pricing in x-payment-info. Use the operations and details here when they meet your needs. Filtered specs contain only matching operations; if you cannot find what you need here, use search or the service catalog. The live catalog at /manifest.json is authoritative for prices and any free included units (prices[].includedUnits) - some meters include free usage per account before any charge, reserved for agents claimed by a human with a verified email.

## Output

Returns the raw OpenRouter chat completion response — typically a JSON object containing the model's generated message, finish reason, token usage statistics, and model metadata — exactly as OpenRouter would return it, proxied transparently through WithZero's metered infrastructure.

## 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": {
     "properties": {}
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST",
      "PUT",
      "PATCH"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "id",
  "object",
  "created",
  "model",
  "choices",
  "billing"
 ],
 "properties": {
  "id": {
   "type": "string"
  },
  "model": {
   "type": "string"
  },
  "usage": {
   "type": "object",
   "required": [
    "prompt_tokens",
    "completion_tokens",
    "total_tokens"
   ],
   "properties": {
    "cost": {
     "type": "number"
    },
    "total_tokens": {
     "type": "number"
    },
    "prompt_tokens": {
     "type": "number"
    },
    "completion_tokens": {
     "type": "number"
    }
   },
   "additionalProperties": false
  },
  "object": {
   "type": "string"
  },
  "billing": {
   "type": "object",
   "required": [
    "promptTokens",
    "completionTokens",
    "reservedUsdcMicro",
    "settledUsdcMicro",
    "actualUsdcMicro",
    "costBasis"
   ],
   "properties": {
    "costBasis": {
     "enum": [
      "openrouter",
      "rates",
      "estimated"
     ],
     "type": "string",
     "description": "Where actualUsdcMicro came from: OpenRouter usage accounting > cached per-token rates > character estimate"
    },
    "promptTokens": {
     "type": "number",
     "description": "Actual input tokens consumed"
    },
    "actualUsdcMicro": {
     "type": "string",
     "description": "Best-known actual cost of the call in micro-USDC. On the fixed route this is informational — the charge is settledUsdcMicro."
    },
    "completionTokens": {
     "type": "number",
     "description": "Actual output tokens generated"
    },
    "settledUsdcMicro": {
     "type": "string",
     "description": "Micro-USDC actually charged to the buyer. Fixed route: the up-front worst-case estimate (= reservedUsdcMicro). Metered route: actual usage (= actualUsdcMicro)."
    },
    "reservedUsdcMicro": {
     "type": "string",
     "description": "Worst-case micro-USDC committed before the call"
    }
   },
   "additionalProperties": false
  },
  "choices": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "index",
     "message",
     "finish_reason"
    ],
    "properties": {
     "index": {
      "type": "number"
     },
     "message": {
      "type": "object",
      "required": [
       "role",
       "content"
      ],
      "properties": {
       "role": {
        "type": "string"
       },
       "content": {
        "anyOf": [
         {
          "type": "string"
         },
         {
          "type": "null"
         }
   
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/withzero-openrouter-chat-completions-metered-via-zeroclick-e795b991/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.withzero.xyz](https://www.zero.xyz/host/agents.withzero.xyz/llms.txt)
