Concepts
A mental model — accounts, plans, keys, budgets, rate limits, and the two surfaces (gateway + dashboard).
TensorLoop has five things to track. Read this once and the rest of the docs will make sense.
Account
You sign in with email or Google. An account holds:
- One plan (free or pro).
- Up to N keys (2 on free, 10 on pro).
- Spend history.
Accounts are isolated. Other users can't see your keys, aliases, or spend.
Plan
The plan sets ceilings. It is not a per-call setting — it's an upper bound on what you can configure when minting a key.
| Free | Pro | |
|---|---|---|
| Max keys | 2 | 10 |
| Max budget / key | $5 | $100 |
| Max RPM / key | 30 | 300 |
| Models | gpt-4o-mini | All |
See Models.
Key
A key is a bearer token. Every inference request carries one. A key is:
- Scoped to your account. Nobody else can use it.
- Scoped to a model allowlist. Set at mint time. Requesting another model returns
403. - Bounded by a budget and an RPM. Hitting either returns
429. - Bounded by an expiry date. Default 90 days, max 365.
You mint and revoke keys in the dashboard. There is no per-key rotation — you mint a new one with a new plaintext value.
Budget
A USD ceiling on a key. Resets every 30 days, counted from the key's mint date (not the calendar month). Once a key spends its budget, every call returns 429 Budget exceeded until the rolling window ticks past.
Rate limit (RPM)
A per-key cap on requests per minute, measured as a rolling 60-second window. Bursts past the cap return 429. Set it lower than the plan max to tighten the blast radius if a key leaks.
The two surfaces
TensorLoop has two HTTP endpoints. They authenticate differently and serve different purposes:
| Surface | Where | Auth | Used for |
|---|---|---|---|
| Dashboard API | tensorloop.tech/api/* | session cookies | minting keys, listing spend, reading activity |
| Inference API | litellm.tensorloop.tech/v1/* | bearer key | OpenAI-compatible — this is what your application calls |
You only need to know about the inference surface to build. The dashboard surface is what tensorloop.tech itself uses.
How a request flows
your app
│ POST /v1/chat/completions
│ Authorization: Bearer tl_...
▼
LiteLLM proxy (litellm.tensorloop.tech)
│ validates key, checks model allowlist,
│ checks budget + RPM, meters cost
▼
upstream model provider
│ returns completion
▼
LiteLLM logs spend → Supabase → dashboardSpend lands in your dashboard within seconds. See Dashboard walkthrough for what each panel shows.
What's next
- Getting started — sign up and make a request.
- Authentication — key lifecycle in detail.
- Rate limits & budgets — what each cap enforces.