Kyklos routes your requests to open models behind three privacy tiers — culminating in end-to-end encryption, where prompts are sealed to attested hardware and even we can't read them. Pay per use. Keep your data.
Every model in the catalog declares its privacy tier up front. Same API, same billing — the tier only changes who is physically able to see your prompt.
Straight to the model with the strictest no-logging pipeline we could build. Prompts and completions live in memory for the length of the request, then they're gone.
Runs only on nodes that prove — with a cryptographic attestation checked on every enrollment — that they boot the exact published inference image on confidential-computing hardware.
Your client seals the prompt to one attested node's public key. The gateway routes ciphertext it cannot open, and the answer comes back sealed to a key only you hold.
At enrollment, hardware signs a quote over the measurement — a hash of the exact inference image — plus a one-time challenge and the node's keys.
The evidence chain is checked against pinned vendor roots and the published measurement list. Unknown format, stale nonce, wrong hash — rejected, never warned.
TEE and E2EE responses include the serving node's identity and measurement, so you can verify instead of taking our word for it.
Nodes sign token counts per request. For sealed traffic we bill from the receipt — the gateway never needs to see the text to charge fairly.
Kyklos speaks the OpenAI chat-completions dialect. Point your existing SDK at our base URL, pick a model by privacy tier, and you're routing privately.
# your code doesn't change — just the base URL curl https://getkyklos.com/v1/chat/completions \ -H "Authorization: Bearer $KYKLOS_API_KEY" \ -d '{ "model": "llama-3.3-70b", "messages": [{"role":"user","content":"hello"}] }' # on attested tiers (hardware pilot), the response proves where it ran "kyklos": { "privacy_mode": "tee", "attestation": { "node_id": "97d386ea…", "measurement": "5892b5f5…" } }
That's the whole model. Credits in, tokens out, one ledger you can audit. A subscription is just discounted credits on a schedule — it never changes what anything costs.
Every charge is integer micro-dollars against published per-token rates. Sealed (E2EE) requests are billed from the node's signed receipt — we charge you correctly for text we never see.
Purchases, grants and per-request charges live in a single append-only ledger you can pull over the API.
Attested nodes sign token counts per request, bound to the request id. Billing has a paper trail.
Model prices are in the catalog endpoint. What you compute from it is what the ledger shows.