TokenKey
Enterprise-grade AI, built for India, deployed in Amaravati. One OpenAI-compatible API for business applications, chatbots, student projects and coding — served from NVIDIA L40S accelerators on Indian soil, with prompt content never stored.
from openai import OpenAI
client = OpenAI(
base_url="https://tokenkey.in/v1",
api_key="tk_live_...",
)
client.chat.completions.create(
model="tk-auto", # the router picks the tier
messages=[{"role": "user", "content": "hello"}],
stream=True,
)Your data stays in India. Nothing you send is stored.
Specificity is the whole product: a rack with an address instead of a region badge, and a test in the gateway suite instead of a promise.
Hardware with an address
NVIDIA L40S accelerators in a rack in Amaravati — not a region name in a cloud console, but a machine you can point at, in the same jurisdiction as the people using it.
Your data stays in India
Inference runs on that hardware and account email goes through an Indian relay. Your text is not forwarded to a model provider abroad, because there is no provider in the path — the model is on the rack.
Content is never stored
Usage records hold token counts, latency and the routing decision — never the text. Retention is off by default, and a test in the gateway suite sends a marker string through and scans every table to prove it stays that way.
Drop-in compatible
OpenAI-compatible API. Point any OpenAI client at a new base URL and it works — which also means the same code moves back off TokenKey just as easily.
What happens between your key and the model.
TokenKey sits in front of the GPUs. Every request passes four checkpoints, in this order, before and after the model runs.
Authenticate the key
Every request carries a tk_live_ key in the Authorization header. Keys are hashed with a server-side pepper and shown once at creation; TokenKey never stores the secret itself.
Check the quota
Per-minute request and token windows plus a daily cap, enforced atomically so concurrent requests cannot slip past the limit. Limits are reported back in x-ratelimit headers.
Route before generating
tk-auto chooses a serving tier before a single token is produced and records the decision. Naming a model explicitly always overrides the router.
Serve and meter
The model on the rack streams the answer back token by token. Token counts, time-to-first-token and latency are recorded per request — the prompt and completion are not.
Your laptop
CoWork desktop app
- Projects, sessions and files stay on disk
- Key held in the OS keychain
- Only prompt text leaves, only to TokenKey
tokenkey.in/v1
TokenKey gateway
- Checks your tk_live_ key
- Enforces quotas, picks a tier
- Meters tokens — never the text
Amaravati, Andhra Pradesh, India
Model on the rack
- NVIDIA L40S accelerators
- Answer streams back token by token
- No overseas provider in the path
One remote endpoint receives your content: https://tokenkey.in/v1. Prompt and reply are never written to disk on the gateway.
Model registry
Serving tiers, named as the API names them.
tk-autoRouterPicks the tier for each request before generating, and records which one served it and why. The default in CoWork.tk-baseFastShort, high-volume requests where responsiveness matters more than depth.tk-32bFlagshipMulti-step reasoning and longer context — the questions worth the extra compute.tk-coderCodecoming shortlyGeneration, review and repository-scale edits.tk-auto defaults to the deep tier rather than letting a small model attempt everything and escalate — small models are most confident exactly where they are wrong, and a slow answer beats a confidently wrong one.
Recorded per request
- Token counts (prompt + completion)
- Time-to-first-token and latency
- Model and tier that served it
- Routing decision and reason
Never written anywhere
- Your prompt text
- The model’s reply
- Attached document contents
- Anything a minor could be profiled on
Enforced by a canary test that sends a marker string through streamed and non-streamed completions, then scans every column of every table for it — on every commit.
Account, approval, key.
TokenKey is in preview. Register as an individual or as an organisation; every account is approved before it can reach inference, and organisations approve their own members.
- 1
Register
On tokenkey.in choose Just me for a personal workspace, or My organisation to set one up. Members of an existing organisation register through its own page, tokenkey.in/<name>.
- 2
Get approved
A TokenKey admin reviews individuals and new organisations. An organisation’s own administrator approves its members, or invites them by email so they skip the queue.
- 3
Create an API key
In the console, create a key. It is shown exactly once — copy it then. An organisation admin can also create keys for members. Revoke and re-issue any time.
- 4
Open CoWork
Paste the key on first launch and you are working: no endpoint URLs, no provider picker. The next release signs you in from the app through tokenkey.in instead, so the key never has to be copied.
Incubation
A project incubated in collaboration between Vasireddy Venkatadri International Technological University (VVITU) — host institution and infrastructure — and Loukri AI, technology and strategy consulting partner.
Loukri AI's role is solely technology and strategy consulting. All servers, models and inference run on hardware in Amaravati, Andhra Pradesh, India.
Use TokenKey from your desktop, today.
CoWork is preconfigured for TokenKey — paste a key and your team is working on India-resident AI in minutes. Or wire the API into what you already run.