# Echo Router Chat Completions

> Echo Router Chat Completions is a paid API for AI agents from echo.router.merit.systems, paid per call via x402, price unknown, status unknown (last checked 2026-09-15).

Generates conversational AI responses using various language models with support for streaming, function calling, and multi-turn conversations

## Facts

- Endpoint: POST https://echo.router.merit.systems/chat/completions
- Price: price unknown
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 1
- Tags: x402
- Canonical page: https://www.zero.xyz/c/echo-router-chat-completions-4aca4950
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_9v3nBN81po5x5KbglDtD4

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 echo-router-chat-completions-4aca4950 -d '<json body>'
```

Example prompt: Using the Echo Router, send this conversation to gpt-4o with a temperature of 0.7 and a max of 500 tokens: system says 'You are a helpful assistant', user says 'Explain quantum entanglement in simple terms' — stream the response back to me.

## When to prefer this

Choose this endpoint when you need an OpenAI-compatible chat completions interface with multi-turn conversation support, streaming, and function calling — particularly if you want a zero-cost per-call (x402 protocol) alternative to direct OpenAI calls, or if you need to route through the Echo Router merit.systems infrastructure for aggregated LLM access.

## Known failure modes

- Invalid or unsupported model name returns an error
- Malformed messages array (missing role or content) causes a 400-level error
- Exceeding max_tokens for the model results in truncated or failed completion
- Payment or x402 authentication failure blocks the request
- Streaming connection drops mid-response leaving an incomplete reply
- Function schema errors cause function_call to fail silently or return malformed JSON

## How this service works

Generates conversational AI responses using various language models. Supports streaming, function calling, and multi-turn conversations with customizable parameters.

## Output

Returns an OpenAI-compatible chat completion object with one or more choices, each containing a message with role and content, a finish reason, optional function call or tool call data, logprobs if requested, and a usage summary with prompt, completion, and total token counts.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "n": {
   "type": "number"
  },
  "stop": {
   "type": "string"
  },
  "model": {
   "enum": [
    "gpt-3.5-turbo",
    "gpt-3.5-turbo-0125",
    "gpt-3.5-turbo-1106",
    "gpt-3.5-turbo-16k",
    "gpt-3.5-turbo-instruct",
    "gpt-3.5-turbo-instruct-0914",
    "gpt-4",
    "gpt-4-0125-preview",
    "gpt-4-0613",
    "gpt-4-1106-preview",
    "gpt-4-turbo",
    "gpt-4-turbo-2024-04-09",
    "gpt-4-turbo-preview",
    "gpt-4.1",
    "gpt-4.1-2025-04-14",
    "gpt-4.1-mini",
    "gpt-4.1-mini-2025-04-14",
    "gpt-4.1-nano",
    "gpt-4.1-nano-2025-04-14",
    "gpt-4o",
    "gpt-4o-2024-05-13",
    "gpt-4o-2024-08-06",
    "gpt-4o-2024-11-20",
    "gpt-4o-mini",
    "gpt-4o-mini-2024-07-18",
    "gpt-4o-mini-search-preview",
    "gpt-4o-mini-search-preview-2025-03-11",
    "gpt-4o-search-preview",
    "gpt-4o-search-preview-2025-03-11",
    "gpt-5",
    "gpt-5-2025-08-07",
    "gpt-5-chat-latest",
    "gpt-5-codex",
    "gpt-5-mini",
    "gpt-5-mini-2025-08-07",
    "gpt-5-nano",
    "gpt-5-nano-2025-08-07",
    "gpt-5-pro",
    "gpt-5-pro-2025-10-06",
    "gpt-5-search-api",
    "gpt-5-search-api-2025-10-14",
    "o1",
    "o1-2024-12-17",
    "o1-mini",
    "o1-mini-2024-09-12",
    "o1-pro",
    "o1-pro-2025-03-19",
    "o3",
    "o3-2025-04-16",
    "o3-deep-research",
    "o3-deep-research-2025-06-26",
    "o3-mini",
    "o3-mini-2025-01-31",
    "o3-pro",
    "o3-pro-2025-06-10",
    "claude-3-5-haiku-20241022",
    "claude-3-5-sonnet-20240620",
    "claude-3-5-sonnet-20241022",
    "claude-3-7-sonnet-20250219",
    "claude-3-haiku-20240307",
    "claude-3-opus-20240229",
    "claude-haiku-4-5-20251001",
    "claude-opus-4-1-20250805",
    "claude-opus-4-20250514",
    "claude-sonnet-4-20250514",
    "claude-sonnet-4-5-20250929",
    "gemini-2.0-flash",
    "gemini-2.0-flash-001",
    "gemini-2.0-flash-exp",
    "gemini-2.0-flash-exp-image-generation",
    "gemini-2.0-flash-lite",
    "gemini-2.0-flash-lite-001",
    "gemini-2.0-flash-lite-preview",
    "gemini-2.0-flash-lite-preview-02-05",
    "gemini-2.0-flash-preview-image-generation",
    "gemini-2.0-flash-thinking-exp",
    "gemini-2.0-flash-thinking-exp-01-21",
    "gemini-2.0-flash-thinking-exp-1219",
    "gemini-2.5-flash",
    "gemini-2.5-flash-image",
    "gemini-2.5-flash-image-preview",
    "gemini-2.5-flash-lite",
    "gemini-2.5-flash-lite-preview-06-17",
    "gemini-2.5-flash-lite-preview-09-2025",
    "gemini-2.5-flash-preview-05-20",
    "gemini-
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "id": {
  "type": "string"
 },
 "model": {
  "type": "string"
 },
 "usage": {
  "type": "object",
  "required": [
   "prompt_tokens",
   "completion_tokens",
   "total_tokens"
  ],
  "properties": {
   "total_tokens": {
    "type": "number"
   },
   "prompt_tokens": {
    "type": "number"
   },
   "completion_tokens": {
    "type": "number"
   },
   "completion_tokens_details": {
    "type": "object",
    "properties": {
     "reasoning_tokens": {
      "type": "number"
     },
     "accepted_prediction_tokens": {
      "type": "number"
     },
     "rejected_prediction_tokens": {
      "type": "number"
     }
    },
    "additionalProperties": false
   }
  },
  "additionalProperties": false
 },
 "object": {
  "enum": [
   "chat.completion"
  ],
  "type": "string"
 },
 "choices": {
  "type": "array",
  "items": {
   "type": "object",
   "required": [
    "index",
    "message",
    "finish_reason"
   ],
   "properties": {
    "index": {
     "type": "number"
    },
    "message": {
     "type": "object",
     "required": [
      "role",
      "content"
     ],
     "properties": {
      "name": {
       "type": "string"
      },
      "role": {
       "enum": [
        "system",
        "user",
        "assistant",
        "function"
       ],
       "type": "string"
      },
      "content": {
       "anyOf": [
        {
         "type": "string"
        },
        {
         "type": "array",
         "items": {
          "type": "object",
          "required": [
           "type"
          ],
          "properties": {
           "text": {
            "type": "string"
           },
           "type": {
            "type": "string"
           }
          },
          "additionalProperties": false
         }
        }
       ],
       "nullable": true
      },
      "tool_calls": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "id",
         "type",
         "function"
        ],
        "properties": {
         "id": {
          "type": "string"
         },
         "type": {
          "enum": [
           "function"
          ],
          "type": "string"
         },
         "function": {
          "type": "object",
          "required": [
           "name",
           "arguments"
          ],
          "properties": {
           "name": {
            "type": "string"
           },
           "arguments": {
            "type": "string"
           }
          },
          "additionalProperties": fals
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/echo-router-chat-completions-4aca4950/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from echo.router.merit.systems](https://www.zero.xyz/host/echo.router.merit.systems/llms.txt)
