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.

What is Katalock?

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.

How usage & billing works

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.

Minimum top-up₹200
Rate limit60/min

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.

ModelTierInput / 1kOutput / 1kFor
Lucy katalock-lucyFast₹0.04₹0.12Quick everyday tasks. Lowest price, highest rate limit.
Tara katalock-taraSmart₹0.10₹0.40Balanced reasoning and writing. The sensible default.
Stargazer katalock-stargazerPro₹0.45₹1.70Flagship reasoning, long context, the hardest tasks.
AiM katalock-aimVerified₹0.10₹0.40 + ₹6/callCross-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).

Which model should I use?

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.