Inference platform · India
Solving for price per unit of intelligence.
Two endpoint names in front of frontier coding models. A router sends every turn to the cheapest lane that can carry it, a prefix discipline keeps your cache warm, and a ledger records what each request actually cost you. The routing is disclosed, not hidden.
- Compatible with
- OpenAI · Anthropic
- Context
- 200K · 1M tokens
- Endpoint names
- 2
- Cache read
- ≈19% of input rate
- endpoint
- glm-5.3 (family)
- tier
- full
- escalated on
- failing-test signal
- prefix
- 12,480 tok · 87% cached
01 How a bill is decided
recorded per request
Three decisions are made before the model answers, and all three can be checked.
01
Prefix discipline
Cache hits are computed on the request prefix, so system prompt, tool definitions and long-lived context stay byte-stable. Most of a working session's prompt is then billed at cache rates. A single edit mid-context re-bills everything after it, which is why we do not make them.
cache read ≈ 19% of the input rate
02
Tier choice
Within glm-5.3 a capability-and-cost objective decides whether a turn needs the full model or the flash tier, and the decision sticks for the session — flipping tiers mid-session wipes the provider cache and re-bills the whole prefix at the new tier's rates.
one decision per session
03
Escalation, priced
A flash-locked session that hits a failing test can upgrade once to the full model, and only while the cache-wipe penalty stays under budget and your trailing full-model share has headroom. Every response carries the fair-use state in its headers.
25% cap on full-model turns
02 Two names, one base URL
/v1/chat/completions · /v1/messages
You address a family. You always know which tier answered.
| Name | What answers | Context | Metered as | Disclosure |
|---|---|---|---|---|
glm-5.3 | GLM-5.3 family | 1M | requests + tokens | Full or Flash chosen per turn by a capability-and-cost objective, then held for the session. The full model is capped at a quarter of your glm calls. |
theta | Our own model | 200K | requests | Built and served by us — the inference stack, the routing between its backends and the tuning are ours. Metered per request, so the price never moves with the prompt. |
Flash variants exist upstream and are selected by the router. You address the family name — never a substituted family. If our own capacity runs out, a turn is served on an alternate model that clears a published quality bar, and the response says so.
03 What it costs
20M input · 5M output / month
A fixed workload, priced two ways.
| Model | Direct at list | Starter · $10 | Pro · $25 |
|---|---|---|---|
glm-5.3$1.52/M in · $4.79/M out | $54.44 | 82%saved | 54%saved |
What the number assumes
- Full list rates, no cache discount — the price a direct customer pays with no engineering at all.
- Same workload on both plans, so the percentage is a property of the plan rather than a chosen quota.
- Excludes theta requests, which are metered per request rather than per token — and which Pro does not count at all.
04 What we are building
A platform, a curriculum, and a research bet.
Inference platform
OpenAI- and Anthropic-compatible endpoints. Point Claude Code, Codex, openCode, Crush or any SDK at a base URL and a key. No adapter, no wrapper library, no migration.
Read the docsAcademics
A free, interactive series on how LLMs actually work, from tokenization to KV-cache economics, written for students rather than buyers. It is also how we explain our own engineering.
Start the seriesResearch
Building toward domain-specific small models for organisations that handle sensitive data, trained where the data lives. theta is the first version of that thesis running in production.
How we disclosePoint an agent at it and watch the ledger fill in.
A one-day trial carries 100 theta requests and20 glm-5.3 requests per window. No card required.
ANTHROPIC_BASE_URL=https://api.bhaskaralabs.com
ANTHROPIC_AUTH_TOKEN=$BHASKARA_API_KEY
claude --model glm-5.3