# Watt > Watt is an OpenAI-compatible inference API run by Area21 on its own fleet of machines in Austin, Texas: multimodal embeddings (text and images in one space), small chat models, and typed yes/no, multiple-choice and score decisions. Point any OpenAI client at `https://watt.area21.io/v1`. Two ways to pay: - **An API key** (`Authorization: Bearer watt-sk-…`), issued by Area21. Usage is billed by token at the key rates in `/v1/pricing`. Decisions and moderations have their own input rate, not the chat model's. - **x402, per call, no account**: send the request without a key; the answer is `402 Payment Required` with the price in USDC on Base (`accepts` in the body, `PAYMENT-REQUIRED` header). Repeat the same request with the signed payment in `X-PAYMENT` (x402 v1) or `PAYMENT-SIGNATURE` (v2). The work is served, then settled; the receipt is in `X-PAYMENT-RESPONSE` / `PAYMENT-RESPONSE`. The price is the per-call amount in `/v1/pricing`, and never under $0.001. An x402 call is $0.002 when the request includes images, $0.001 for text-only. Decisions, systemone, and moderations use their own per-call price. Embeddings batch up to 256 items a call (served 32 at a time); moderations batch up to 32 texts. The Bazaar lists `/v1/embeddings`, `/v1/decisions` and `/v1/moderations`. Chat and `/v1/systemone` are payable per call and not listed. Chat is not production-grade yet. A keyless request answered 401 instead of 402 means pay-per-call is not switched on yet. ## Endpoints - [POST /v1/embeddings](https://watt.area21.io/openapi.json): OpenAI's embeddings request. Model `qwen3-vl-embedding-2b` (Qwen/Qwen3-VL-Embedding-2B), 2048 dimensions (any `dimensions` from 64, Matryoshka), unit-length vectors, 8192-token context. An `input` item may be a string, `{"text","image"}`, or OpenAI content parts with `image_url` (data URL, base64 or public https). Extra fields: `instruction` (what the vectors are for), `max_pixels`. - [POST /v1/chat/completions](https://watt.area21.io/openapi.json): OpenAI's chat, streaming or not. Models `qwen3.5-4b` (Qwen/Qwen3.5-4B), `qwen3-1.7b` (Qwen/Qwen3-1.7B), `qwen3-0.6b` (Qwen/Qwen3-0.6B); no `model` is the best one ready. Text only. Not production-grade yet. - [POST /v1/decisions](https://watt.area21.io/openapi.json): typed questions about a text, answered with calibrated probabilities. `questions[]` of `predicate` (yes/no), `choice` (2+ `choices`), `score` (2+ `levels`). The same models and ids as chat. Cheap, fast classification and routing. - [POST /v1/moderations](https://watt.area21.io/openapi.json): OpenAI's moderation request and categories. - [GET /v1/models](https://watt.area21.io/v1/models): what is served now, with `pricing` (USD per million tokens, the key rate) and `context_length`. Needs a key. - [GET /v1/pricing](https://watt.area21.io/v1/pricing): every published rate, key and x402, and the x402 minimum. Open. - [GET /v1/provider/models](https://watt.area21.io/v1/provider/models): the same offer in OpenRouter's provider schema, with live capacity a minute. Open. ## Prices - qwen3-vl-embedding-2b: 0.05 per million text tokens with a key; 0.1 per million image tokens with a key; 0.001 per call over x402; 0.002 per call over x402 with an image - qwen3.5-4b: 0.04 in / 0.15 out per million tokens with a key; 0.002 per call over x402 - qwen3-1.7b: 0.02 in / 0.1 out per million tokens with a key; 0.001 per call over x402 - qwen3-0.6b: 0.01 in / 0.05 out per million tokens with a key; 0.001 per call over x402 - decisions: 0.1 per million input tokens with a key; 0.002 per call over x402 - moderations: 0.1 per million input tokens with a key; 0.002 per call over x402 Key amounts are USD per million tokens. x402 amounts are USD per call. Chat is not production-grade yet. An x402 call is never under $0.001. ## Limits and errors - Errors are OpenAI's shape: `{"error":{"message","type","param","code"}}`. - Over a key's limits, or when the fleet is full, the answer is `429` with `Retry-After` (seconds); retry then. `503` only when no machine has the model. - Every answer carries `Inference-Id`, the request's id. ## Optional - [OpenAPI 3.1 description](https://watt.area21.io/openapi.json)