kyklos

Welcome back.

Log in to manage keys, credits and usage.

New to Kyklos? Create an account

Your prompts are sealed. Your usage is a ledger. Your keys are yours.

First, a key.

API keys are what your code authenticates with — separate from this login, revocable any time. We store only a hash, so it's shown exactly once.

Saved somewhere safe? It won't be shown again.

Load credits.

Kyklos is usage-based: credits in, tokens out, one auditable ledger. Pick a starting amount — you only ever spend what you use.

Make it talk.

You're OpenAI-compatible from here. This is a real request against your account — paste it into a terminal.

kyklos
→Log in

Overview

New API key
Credit balance
—
Spent per token, never per month. Top up
Plan
—
Last 30 days
—

Recent usage

Per model, per day. Costs are exact integer micro-dollars from the ledger.

kyklos

Conversations are stored only in this browser. Our servers and database keep no copy of them.

← Back to console

Chats never leave this browser. Each reply is billed from your credits.

API keys

Keys authenticate inference traffic. We store only a hash — each key is shown once, at creation.

Create a key

This is the only time the full key appears. Store it now.

Your keys

Usage

Every request that cost anything is here. Nothing else about it was kept — no prompts, no IPs, no fingerprints.

Requests
—
Tokens in / out
—
Total spend
—

By day and model

Billing

Usage-based first: credits in, per-token charges out, one ledger. A subscription only changes how credits arrive — at a discount, monthly — never what anything costs.

Balance
—
Add credits

Subscription

Optional. Each renewal grants credits worth more than the price — plus a higher rate limit.

Models

The live catalog, straight from GET /v1/models — a public endpoint, no key required, so anyone can audit prices before signing up.

Catalog

Text is priced per million tokens; images per image; video per clip — charged from your credit balance per request. Deprecations get a published removal date — models never disappear silently.

Loading…

Privacy tiers

The suffix on a model name is a routing decision, not marketing.

anonymous Private by policy. No prompt logging, no IPs, no fingerprints — the same zero-retention rules as every tier, enforced by what the schema cannot store.
tee Hardware pilot — no live models yet. Served only by enrolled nodes that presented attestation evidence for a published measurement. Every response carries the serving node's identity and measurement.
e2ee Hardware pilot — no live models yet. You seal the prompt to one attested node's public key before it leaves your machine. The gateway relays bytes it cannot read and bills from the node's signed receipt.

Docs

The short version — enough to make a first request. The full reference, including image, video, errors and the privacy architecture, lives at /docs (public, no login).

Full documentation →

Base URL & auth

Authenticate with an API key (create one under API keys) in a standard bearer header. Session logins never touch the inference API.

Quickstart — curl

Python — official OpenAI SDK

Node — official OpenAI SDK

Images & video

Image generation is OpenAI-shaped; video takes a prompt and returns a URL. Both are billed flat per generated unit at the catalog price — no token meters.

Attested tiers — hardware pilot

The tee and e2ee tiers — attested confidential-computing nodes, sealed requests, signed-receipt billing — are built and tested, but no catalog model carries those labels until the first attested hardware nodes onboard. A label you can't verify is worthless. Discovery is already public API:

Errors

Errors carry a code and a request id, never an echo of your request — error bodies are a classic place prompts leak, so ours can't.

HTTPCodeMeaning
400bad_requestMalformed body or parameters.
401unauthorizedMissing, wrong, or revoked API key.
402insufficient_creditsBalance too low. Nothing was charged — top up under Billing.
404model_not_foundNo such model in the catalog.
410model_retiredModel passed its published removal date.
429rate_limitedOver your plan's requests/minute. Keyed to your account, never your IP.
503no_route_availableModel exists but no healthy node can serve it right now. Retryable.
502 / 504upstream_error / upstream_timeoutA serving node failed or timed out.