Private inference · OpenAI-compatible API

AI that answers without reading you.

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.

Privacy tiers

Choose how
private.

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.

01

Standard

Private by policy

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.

  • Zero prompt retention
  • No request metadata stored
  • Lowest latency & price
02

TEE

Private by hardware · hardware pilot

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.

  • Hardware-encrypted memory
  • Attestation in every response
  • Fail-closed routing
03

E2EE

Private by mathematics · hardware pilot

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.

  • Sealed on your machine
  • We route it, we can't read it
  • Billing from signed receipts
Attestation

Trust is checked,
not assumed.

01

The node proves what it booted

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.

02

The gateway verifies, fail-closed

The evidence chain is checked against pinned vendor roots and the published measurement list. Unknown format, stale nonce, wrong hash — rejected, never warned.

03

Every response carries the proof

TEE and E2EE responses include the serving node's identity and measurement, so you can verify instead of taking our word for it.

04

Billing runs on signed receipts

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.

Developers

Change one line.
Keep your stack.

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.

/v1/chat/completions Streaming Any OpenAI SDK Sealed mode
# 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…"
  }
}
Pricing

Pay per token.

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.

Free
$0 /mo
  • Pay-as-you-go credits
  • All privacy tiers
  • 20 requests / min
Pro
$20 /mo
$22 in credits
  • 10% bonus on credits
  • 200 requests / min
Plus
$50 /mo
$57.50 in credits
  • 15% bonus on credits
  • 600 requests / min
Max
$150 /mo
$180 in credits
  • 20% bonus on credits
  • 1,200 requests / min

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.

One ledger

Purchases, grants and per-request charges live in a single append-only ledger you can pull over the API.

Receipts, signed

Attested nodes sign token counts per request, bound to the request id. Billing has a paper trail.

No meters hidden

Model prices are in the catalog endpoint. What you compute from it is what the ledger shows.

Get started

Start
private.

Create your API key