Developers
Use Katalock from your own app, CLI, or backend. The API is OpenAI-compatible — point the official OpenAI SDK at our base URL — and it's pay-as-you-go: metered from your prepaid ₹ balance, never from a subscription.
Katalock is a verified mixture-of-experts (MoE) system. In AI, a mixture-of-experts means that instead of leaning on one model for every question, each task is routed to the expert best suited to it — and for answers that matter, several experts respond independently and their answers are cross-checked before a single one is returned. Katalock turns that into a product: the right expert for each job, plus a verification layer that scores how much the experts agree — so you get an answer you can actually trust. Powered by AiM Intelligence.
Chat has a rolling session limit and a weekly limit. When you hit one, the reset time shows in your own local time (with the date for the weekly reset). Top up your Katalock wallet — ₹ in India, Rp in Indonesia — to keep going right away. The Developer API is separate and prepaid: every call meters real tokens against your wallet balance at the pay-as-you-go rate of the tier you pick (Lucy, Tara, Stargazer, or AiM), so you only pay for what you use — never from a subscription.
Introductory pricing, GST where applicable, may change. The API only ever draws your prepaid balance — it can never overspend.
Loading your account…
Base URL & auth
Base URL: https://www.katalock.net/api/v1. Authenticate with a Bearer token (your API key).
Chat completions (OpenAI-compatible)
Python — OpenAI SDK, base-URL swap
from openai import OpenAI
client = OpenAI(
api_key="YOUR_KATALOCK_API_KEY",
base_url="https://www.katalock.net/api/v1",
)
resp = client.chat.completions.create(
model="katalock-tara", # Lucy (fast) · Tara (smart) · Stargazer (pro)
messages=[
{"role": "user", "content": "Write a Diwali offer for my shop, in Hindi."}
],
)
print(resp.choices[0].message.content)JavaScript / TypeScript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.KATALOCK_API_KEY,
baseURL: "https://www.katalock.net/api/v1",
});
const resp = await client.chat.completions.create({
model: "katalock-tara",
messages: [{ role: "user", content: "Summarise this invoice in Tamil." }],
});
console.log(resp.choices[0].message.content);cURL
curl https://www.katalock.net/api/v1/chat/completions \
-H "Authorization: Bearer $KATALOCK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "katalock-tara",
"messages": [{"role": "user", "content": "Hello"}]
}'Verify — the K-Computer wedge
Not just an answer — a confidence-scored, cross-checked one. Your prompt is answered several times over and independently cross-checked, an adjudicator reconciles the results, and any claim only one pass made is flagged. Returns confidence (high / medium / low), agreement, and notes on anything unverified.
curl https://www.katalock.net/api/v1/verify \
-H "Authorization: Bearer $KATALOCK_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "prompt": "What is the GST rate on cotton sarees in India?" }'
# → {
# "answer": "...",
# "confidence": "high",
# "agreement": 0.83,
# "panel_size": 6,
# "notes": null,
# "katalock": { "cost_inr": 1.4, "balance_inr": 198.6 }
# }Shareable results & the “Verified by Katalock” badge
Pass "share": true and the response adds a public result page and an embeddable badge you can drop on your site — a trust mark that links back to the cross-checked answer.
curl https://www.katalock.net/api/v1/verify \
-H "Authorization: Bearer $KATALOCK_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "prompt": "Is GSTR-3B due on the 20th?", "share": true }'
# → { ..., "share_url": "https://www.katalock.net/v/v_abc123",
# "badge_url": "https://www.katalock.net/api/badge/v_abc123" }
# Embed the badge (links to the verified result):
<a href="https://www.katalock.net/v/v_abc123">
<img src="https://www.katalock.net/api/badge/v_abc123" alt="Verified by Katalock">
</a>Use Katalock inside your agent (MCP server)
Katalock is also an MCP server: add it to Claude Code, Cursor, Copilot, or any MCP-capable agent and they get a verify tool (K-Computer cross-check) and an ask tool — so your agent can fact-check itself mid-task. Same key, same pay-as-you-go balance.
Claude Code (CLI)
claude mcp add --transport http katalock https://www.katalock.net/api/mcp/server \
--header "Authorization: Bearer $KATALOCK_API_KEY"Cursor / generic MCP client (mcp.json)
{
"mcpServers": {
"katalock": {
"type": "http",
"url": "https://www.katalock.net/api/mcp/server",
"headers": { "Authorization": "Bearer YOUR_KATALOCK_API_KEY" }
}
}
}Tools exposed: verify (confidence-scored, cross-checked) and ask (fast single-model). Discovery is free; only tool calls draw down your balance.
WebMCP (browser agents): KatalockAi also publishes these tools to in-browser AI agents via the emerging navigator.modelContext standard — so an agent running in the user's browser can call katalock_verify / katalock_ask on their own signed-in session, no key required. Where a browser doesn't yet support the standard, the same tools are discoverable on window.katalockWebMCP.
Use Katalock inside n8n
Because the API is OpenAI-compatible, any n8n workflow can call Katalock. Add an HTTP Request node (works on every n8n version) pointed at the endpoint below, or import this ready-made workflow.
// Import into n8n: Workflows → ⋯ → Import from clipboard
{
"name": "Katalock — verified answer",
"nodes": [
{ "parameters": {}, "name": "Manual Trigger", "type": "n8n-nodes-base.manualTrigger",
"typeVersion": 1, "position": [400, 300] },
{ "parameters": {
"method": "POST",
"url": "https://www.katalock.net/api/v1/verify",
"sendHeaders": true,
"headerParameters": { "parameters": [
{ "name": "Authorization", "value": "Bearer YOUR_KATALOCK_API_KEY" }
] },
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={ \"prompt\": \"What is the GST rate on cotton sarees?\" }"
},
"name": "Katalock verify", "type": "n8n-nodes-base.httpRequest",
"typeVersion": 4, "position": [640, 300] }
],
"connections": { "Manual Trigger": { "main": [[{ "node": "Katalock verify", "type": "main", "index": 0 }]] } }
}Prefer n8n's built-in OpenAI node? Create an OpenAI credential with the base URL and your Katalock key, then use model katalock-auto. For the cross-checked wedge, call /verify (as above) instead of /chat/completions. You can also add Katalock via n8n's MCP Client node.
Models & per-tier pricing
Each Katalock model is a named tier. You choose the tier per request; the price is metered from your prepaid balance at that tier's own rate — so you only pay premium rates when you ask for a premium tier. Amounts are per 1,000 tokens, in your local currency.
| Model | Tier | Input / 1k | Output / 1k | For |
|---|---|---|---|---|
Lucy katalock-lucy | Fast | ₹0.04 | ₹0.12 | Quick everyday tasks. Lowest price, highest rate limit. |
Tara katalock-tara | Smart | ₹0.10 | ₹0.40 | Balanced reasoning and writing. The sensible default. |
Stargazer katalock-stargazer | Pro | ₹0.45 | ₹1.70 | Flagship reasoning, long context, the hardest tasks. |
AiM katalock-aim | Verified | ₹0.10 | ₹0.40 + ₹6/call | Cross-checked by a panel; returns one answer with a confidence score. |
AiM is the verified tier — it cross-checks a panel and returns one answer with a confidence score via the /verify endpoint. Legacy ids katalock-auto, katalock-fast, katalock-smart keep working (they map to Tara, Lucy and Tara).
Start with Tara (katalock-tara) — the balanced default. Use Lucy (katalock-lucy) for high-volume, cost-sensitive calls; Stargazer (katalock-stargazer) for the hardest reasoning and long context; and AiM for a cross-checked, confidence-scored answer. In your code, set the model to the tier's id — in Python or TypeScript, model: "katalock-tara" (swap in katalock-lucy or katalock-stargazer). For AiM, call the /verify endpoint instead of chat/completions.
Pricing & limits
Billed per token from your prepaid balance at the per-tier rates in the table above; the verified AiM tier fans out across a panel and is priced accordingly. Every response includes your cost and remaining balance in the x-katalock-cost-inr / x-katalock-balance-inr headers. When the balance hits zero you get a 402 — top up to resume. Each key is rate-limited to 60 requests/min; exceed it and you get a 429 with a retry-after header.
Building something with Katalock?
Tell us at admin@katalock.net.