# Orthogonal Baseten Chat Completions

> Orthogonal Baseten Chat Completions is a paid API for AI agents from x402.orthogonal.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-13).

Send a chat conversation to a hosted LLM (DeepSeek, GLM, Kimi, or GPT-OSS) and receive a text completion, with support for streaming, tool calling, structured outputs, and reasoning depth control.

## Facts

- Endpoint: POST https://x402.orthogonal.com/baseten/v1/chat/completions
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/orthogonal-baseten-chat-completions-b9d75ddd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_TcCHPlr79THik2riaMzoY

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 orthogonal-baseten-chat-completions-b9d75ddd -d '<json body>'
```

Example prompt: Using the DeepSeek-V3-0324 model, send this conversation to the Orthogonal Baseten chat completions endpoint and get a reply: system message 'You are a helpful assistant', user message 'Explain the Fermi paradox in two paragraphs' — stream the tokens back and use medium reasoning effort.

## When to prefer this

Choose this endpoint when you need an OpenAI-compatible chat completions interface backed by frontier open-weight models like DeepSeek-V3, GLM-4, or Kimi-K2 — especially when you want reasoning depth control, very long context windows (up to 262k tokens), or access to models not available on OpenAI directly. Prefer it over OpenAI's own endpoint when cost efficiency or model diversity matters, and over raw Baseten when you want a pay-per-call x402 payment model without managing your own Baseten account.

## Known failure modes

- Unsupported model slug returns a 400 or 422 validation error
- Exceeding the model's context window (e.g. 128k or 262k tokens) causes a context-length error
- Payment or x402 authorization failure results in a 402 response before inference runs
- Streaming connection drop mid-response leaves a partial completion
- Requesting n > 1 completions returns an error since only n=1 is supported
- Malformed tool definition schema causes the model to ignore tools or return an error

## How this service works

Send a conversation to a model and get a completion back. Works exactly like the OpenAI chat completions endpoint. Pass messages and a model slug, get a response with the assistant's reply. Supports streaming for real-time token delivery, tool calling for function execution, structured outputs via response_format, and controllable reasoning depth on supported models. | ERROR: Unable to calculate price.

## Output

Returns an OpenAI-compatible chat completion object containing the assistant's message content, an optional array of tool_calls if the model chose to invoke functions, finish_reason, token usage counts, and an optional reasoning trace. When streaming is enabled, delivers server-sent events of delta chunks until a [DONE] signal.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "n": {
   "type": "number",
   "description": "Number of completions to generate. Currently only supports 1."
  },
  "bad": {
   "type": "string",
   "description": "Words or phrases the model should avoid generating. Passed as a string."
  },
  "echo": {
   "type": "boolean",
   "description": "If true, prepends the last input message to the generated output."
  },
  "seed": {
   "type": "number",
   "description": "Integer for deterministic sampling. Same seed with same parameters should return the same result. Not guaranteed across model versions."
  },
  "stop": {
   "type": "string",
   "description": "Up to 4 sequences where the model will stop generating. Can be a string or array of strings."
  },
  "user": {
   "type": "string",
   "description": "A unique string identifying the end user. Useful for abuse monitoring and rate limiting."
  },
  "min_p": {
   "type": "number",
   "description": "Minimum probability threshold. Tokens below this probability relative to the most likely token are filtered out."
  },
  "model": {
   "type": "string",
   "description": "Model slug to run inference against. Available models: deepseek-ai/DeepSeek-V3-0324 (164k context, reasoning), deepseek-ai/DeepSeek-V3.1 (164k context, reasoning), zai-org/GLM-4.6 (200k context, reasoning), zai-org/GLM-4.7 (200k context, reasoning), moonshotai/Kimi-K2-Instruct-0905 (128k context), moonshotai/Kimi-K2-Thinking (262k context, always-on reasoning), moonshotai/Kimi-K2.5 (262k context), openai/gpt-oss-120b (128k context). Reasoning models support the reasoning_effort parameter for controlling thinking depth."
  },
  "tools": {
   "type": "array",
   "description": "Array of tool/function definitions the model can call. Each tool has {\"type\": \"function\", \"function\": {\"name\": \"...\", \"description\": \"...\", \"parameters\": {...}}}. The model may respond with tool_calls instead of content."
  },
  "top_k": {
   "type": "number",
   "description": "Top-K sampling. Only the K most likely next tokens are considered. Lower values make output more focused."
  },
  "top_p": {
   "type": "number",
   "description": "Nucleus sampling threshold between 0 and 1. Only tokens within this cumulative probability mass are considered. 0.1 means only the top 10%. Use as an alternative to temperature."
  },
  "stream": {
   "type": "boolean",
   "description": "If true, returns server-sent events (SSE) with partial message deltas as tokens are generat
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/orthogonal-baseten-chat-completions-b9d75ddd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.orthogonal.com](https://www.zero.xyz/host/x402.orthogonal.com/llms.txt)
