Call 109 frontier models through one OpenAI-compatible API, billed per million tokens and routed to healthy capacity. No monthly plan, no commitment — pay for what you use, at a fraction of official pricing.
Top up a balance, grab one key, and point any OpenAI- or Anthropic-compatible client at AtmoRouter. Stop calling, stop paying.
Deposit with USDC on Solana or QRIS. No card on file, no recurring charge.
These numbers come straight from our request log — not a marketing page. Failed upstream requests are never billed to you.
Per-family health appears here as soon as traffic flows.
Model families behind the API
Loading capacity…
AtmoRouter is an OpenAI-compatible gateway. One key, one request shape, capacity picked for you.
Drop-in replacement for OpenAI. Change the base URL, keep your SDK. Every model in the catalog answers to a single ar- key.
Requests land on capacity that is up and within budget. Exhausted or degraded sources are skipped automatically — no manual re-rolls.
Input and output priced separately and metered from the upstream usage report, not estimated from characters.
Full SSE passthrough, identical to OpenAI’s format, with usage on the final frame. Stop the stream, stop paying.
Unlimited keys with per-key rate limits and model allowlists. Revoke one without touching the others.
Every request logged with tokens, latency and cost. Filter by model or window, export the raw data anytime.
Set two environment variables, or pass the base URL to your SDK. Same request shape, same streaming, same response fields as OpenAI — your existing code keeps working.
Environment variables
Works with most coding agents and CLIs without touching code
export OPENAI_BASE_URL="https://atmorouter.dev/v1" export OPENAI_API_KEY="ar-xxxxxxxxxxxx" # Any OpenAI-compatible tool now routes through AtmoRouter. # Verify the key and see every model you can call: curl $OPENAI_BASE_URL/models -H "Authorization: Bearer $OPENAI_API_KEY"
Python
Chat completions, streaming, tool calls
from openai import OpenAI
client = OpenAI(
base_url="https://atmorouter.dev/v1",
api_key="ar-xxxxxxxxxxxx",
)
res = client.chat.completions.create(
model="cb/gpt-6-astra",
messages=[{"role": "user", "content": "Explain PKCE."}],
)
print(res.choices[0].message.content)Node.js
Drop-in replacement for the OpenAI client
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://atmorouter.dev/v1",
apiKey: process.env.ATMOROUTER_API_KEY,
});
const res = await client.chat.completions.create({
model: "cb/gpt-6-astra",
messages: [{ role: "user", content: "Explain PKCE." }],
});Streaming
SSE passthrough with exact token usage on the final frame
stream = client.chat.completions.create(
model="cb/gpt-6-astra",
messages=[{"role": "user", "content": "Count to five"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content if chunk.choices else None
if delta:
print(delta, end="", flush=True)
# The last frame before [DONE] carries usage:
# {"usage": {"prompt_tokens": 9, "completion_tokens": 25}}
# Billing uses those exact counts, never a character estimate.Base URL
https://atmorouter.dev/v1One host for every model in the catalogue.
Auth header
Authorization: Bearer ar-…x-api-key is accepted too.
Cost header
X-Atmorouter-CostExact amount deducted, on every response.
Frontier models normally locked behind a monthly subscription, available per token. The price you see is the price you pay.
| Model | Family | Context | Input $/Mtok | Output $/Mtok |
|---|---|---|---|---|
| cb/gpt-6-astra | CodeBuddy | 1M | $0.3750 $10.00 cache $0.0375 | $1.88 $50.00 |
| cc/claude-fable-5 | Claude Code | — | $5.00 $10.00 cache $0.5000 | $25.00 $50.00 |
| cx/gpt-6-astra | Codex | 272K | $0.2250 $10.00 cache $0.0225 | $1.13 $50.00 |
| ag/claude-opus-4-6-thinking | Antigravity | 1M | $0.0125 $5.00 cache $0.0013 | $0.0625 $25.00 |
| ali/kimi-k3 | Alibaba Cloud | 1M | $1.49 $3.00 cache $0.1492 | $7.46 $15.00 |
| alicn/kimi-k3 | ALICN | 1M | $0.0075 $3.00 cache $0.000750 | $0.0375 $15.00 |
| cbcn/kimi-k3 | CodeBuddy CN | 1M | $0.1200 $3.00 cache $0.0120 | $0.6000 $15.00 |
| cp/cline-pass/kimi-k3 | Cline Pass | 1M | $1.88 $3.00 cache $0.1875 | $9.38 $15.00 |
| zai/glm-5.3 | Z.AI | 1M | $0.0035 $1.40 cache $0.000350 | $0.0110 $4.40 |
| mm/MiniMax-M2.5 | MM | 205K | $0.000750 $0.3000 cache $0.000075 | $0.0030 $1.20 |
No subscription, no seats, no minimum. Top up a balance and it drains only when you call.
Per million tokens, in USD
Long-running, high-volume workloads
Versus official list pricing
Deposit with USDC on Solana or QRIS. Full per-model price list lives in your dashboard.
From signup to first token in under a minute.
01
Sign up with an email. Nothing else required to look around.
02
Deposit USDC on Solana or pay with QRIS. Balance drains per token, never per month.
03
Create an ar- key, set its rate limit and allowed models.
04
Point any OpenAI-compatible client at atmorouter.dev/v1.
Metering comes from the upstream usage report, so the number you are charged is the number you consumed.
Create an account, grab a key, and call 109 models in minutes.
Community
The fastest way to reach us. Ask integration questions, report a bad request, request a model, or get a heads-up before pricing changes land.
Free · no signup required