Bhaskara Labs

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
Sample requestglm-5.3 · 200 · 6.8s
endpoint
glm-5.3 (family)
tier
full
escalated on
failing-test signal
prefix
12,480 tok · 87% cached
cached10,854 × $0.283/M$0.003073
fresh1,626 × $1.52/M$0.002479
output842 × $4.79/M$0.004034
this turn$0.009585
same turn, prefix not cacheable$0.0231
saved by cache-stable prefixes58%
full-model share this week20% alert · 25% cap
A recorded turn from the routing ledger. Rates are the published list prices for GLM-5.3; the same fields are logged for every request you make and appear in your dashboard.

01 How a bill is decided

recorded per request

Three decisions are made before the model answers, and all three can be checked.

  1. 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

  2. 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

  3. 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.

NameWhat answersContextMetered asDisclosure
glm-5.3GLM-5.3 family1Mrequests + tokensFull 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.
thetaOur own model200KrequestsBuilt 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.

ModelDirect at listStarter · $10Pro · $25
glm-5.3$1.52/M in · $4.79/M out$54.4482%saved54%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.
Run your own numbers

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 docs

Academics

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 series

Research

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 disclose

Point 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.

One env var
ANTHROPIC_BASE_URL=https://api.bhaskaralabs.com
ANTHROPIC_AUTH_TOKEN=$BHASKARA_API_KEY
claude --model glm-5.3