Bhaskara Labs

Legal

FAQ

How the endpoints behave, how the router makes decisions, and what the quota headers mean. Where an answer depends on a number, the number is stated.

Effective 1 September 2026 · Questions: [email protected]

Endpoints and models

Which endpoints can I call?

POST /v1/chat/completions (OpenAI-compatible) and POST /v1/messages (Anthropic-compatible). Authenticate with Authorization: Bearer sk-bhaskara-…; the Anthropic-style x-api-key also works on /v1/messages. Model names you can use: glm-5.3 and theta. The flash variants exist upstream and are selected by the router, so you address the family name rather than a variant.

What exactly is theta?

theta is our own model. We build and serve it ourselves — the inference stack, the routing between its backends and the tuning are ours end to end. That is what lets us price it per request instead of per token: you stop counting tokens, and we carry the variance.

Per request also means predictable. A long context, a short one, a burst of tool calls — the same cost, because you are not paying for a number you cannot see before you send it. For a chatty, context-heavy agent that is usually the cheaper bill, and it is always the easier one to budget.

Do you swap models without telling me?

No. A request naming glm-5.3 is answered by the GLM-5.3 family. Which variant, full or flash, is a session-level routing decision, and every response states which tier answered. You always know the endpoint you called and the tier that served it.

Routing and caching

What is the session-sticky model lock?

Provider prompt caches are keyed to a stable request prefix and to a specific model. Flipping your session between a full model and its flash variant turn to turn would wipe the cache and re-bill your entire prefix at the new tier's rates. So the first request of a session is routed by task difficulty, and that choice then holds for the session, with a two-hour idle TTL.

There is one priced exception. A genuinely hard turn — debugging, planning, architecture — inside a flash-locked session can trigger a single upgrade to the full model, and only when two conditions hold: the cache-wipe penalty (your prefix re-billed at full-model rates) stays under a strict budget, and your weekly full-model share has headroom. Fresh sessions get fresh decisions.

How do I keep my own cache hits high?

Put the stable material first: system prompt, tool definitions, long-lived context. Append only at the end, and never rewrite history or prune the middle. Any mid-context edit invalidates everything after it. Watch x-ratelimit-remaining-* and the cache column in your dashboard, which report the real hit rate rather than an estimate.

Which headers tell me my quota state?

Every successful response carries x-quota-plan and x-quota-monthly-reset. theta responses add x-ratelimit-limit-requests and -remaining-requests; frontier responses add x-ratelimit-limit-tokens, -remaining-tokens and x-quota-output-tokens-remaining. On a 429 you also get Retry-After in seconds. No pricing data appears in any header — costs live in the dashboard.

Quotas and plans

Which limits apply, and when do they reset?

Frontier endpoints count prompt and completion tokens separately against monthly caps that reset at 00:00 UTC on the first of the month. theta counts requests in a rolling five-hour window plus a monthly ceiling. Exceeding any of them returns a clean 429 with the reset time, never a silent degrade.

What happens if quota runs out mid-session?

You get a 429 with a link to the dashboard. The session's sticky lock stays as it was, so once the window resets you resume on the same model with the cache still warm.

Why is signup sometimes closed?

Cohorts are capped at 100. While a cohort review runs, new addresses go to the waitlist so that everyone inside a cohort keeps stable capacity. The gate closes automatically at the cap and is reopened by hand after the review.

Privacy and training

Do you train on my prompts?

Only while the "Train on my traffic" switch in your dashboard is on. Flip it off and the very next request stops being stored. The full mechanics, including the honest limit of an opt-out (gradients do not unlearn), are in the training disclosure.

Where is my data?

The primary store is hosted in India and encrypted at rest. Upstream inference providers see the live request only and are contractually zero-retention for pass-through traffic. Details in the privacy policy.

Billing

Why compare against direct API rates?

Because it is the only comparison that means anything: the same uncached prompt at the full list price of the frontier family, with no cache discounts applied. It is an estimate and labelled as one. The calculator is public, and the three engineering choices behind the price — cache engineering, context management, routing — are disclosed on the plans page.

What is the refund policy?

A full refund within 7 days of a first paid cycle, and pro-rata for downtime over 24 hours or billing errors. The refund policy has the detail.

Legal