IronStratum Get an API key

OpenAI-compatible inference API

The iron layer of the AI stack.

One endpoint. One key. Every model in the catalog. Responses keep the same shape on every request, the wallet is prepaid with hard limits, and the API only ever grows.

Sign up with a code — no email, no password. First key on the same screen.

One endpoint, one key, every model.

IronStratum is an OpenAI-compatible inference API. Change one base URL in your existing code and it works — same endpoints, same request and response shapes, every model in the catalog.

What’s different is what you stop worrying about. The three sections below are the whole difference: responses that never change shape, an API that never breaks your code, and money that can’t run away.

The response shape never changes.

Every response is constructed by IronStratum, not passed through from whoever runs the model underneath. Same fields, same order, same error behavior — every request, every model. When a provider has a bad day, your code can’t tell: nothing from upstream appears in your responses. No foreign ids, no surprise error formats.

The API only ever grows.

Fields are added; never removed, never repurposed. Your code keeps working — enforced by drift tests, not promised in a policy. Credits and terms don’t change mid-period. Every request accepts an idempotency key: send the same request twice, get the same result and get billed once. Retries are safe by construction.

Money can’t run away.

The wallet is prepaid, and limits are checked when requests arrive — not reconciled at the end of the month. A leaked key can spend what you loaded, nothing more; it cannot produce a runaway bill. No free tier, no expiring credits, no gimmicks.

A key in under a minute.

1

Enter a code

No email, no password, no form.

2

Get your key

Account code, recovery code, and your first sk-ironstratum- key — same screen.

3

Fund when ready

The wallet is prepaid — load it, set limits, call.

Then go be in your terminal. The console is there when you want it.

The catalog.

Eight chat and reasoning models. Two more we host ourselves — you won’t find those anywhere else. And a specialty lane for speech, transcription, embeddings and rerank. Token prices are per million, and the same data is served by the API that bills you: GET /v1/models.

Chat & reasoning

Chat and reasoning models — context window, price per million tokens in and out and cached, capabilities
ModelContext$/1M in$/1M out$/1M cached inCapabilities
qwen3.8-27b262,1440.352.550.105thinking · streaming
qwen3.6-35b131,0720.110.800.044thinking · streaming
minimax-m2.7196,6080.240.950.072streaming
muse-glimmer-30b131,0720.281.200.084streaming
glm-5.3-flash1,048,5760.110.350.033streaming
deepseek-v4-flash-07311,310,7200.150.420.045streaming
gemma-4-31b-it262,1440.220.490.066streaming
deepseek-v4-pro1,000,0001.132.210.339streaming

Self-hosted, only here

Chat and reasoning models — context window, price per million tokens in and out and cached, capabilities
ModelContext$/1M in$/1M out$/1M cached inCapabilities
ornith-1.5-35b100,0000.352.550.105thinking · streaming · only here
ornith-1.5-9b100,0000.100.300.03thinking · streaming · only here

Speech, transcription, embeddings & rerank

Specialty models — kind and unit price
ModelKindPrice
kokoro-ttstext to speech$15 / 1M chars
chatterbox-ttstext to speech$25 / 1M chars
pocket-ttstext to speech$16 / 1M chars
audio8-ttstext to speech$8 / 1M chars
hayamimi-sttspeech to text$0.60 / audio-hour
whisperspeech to text$0.25 / audio-hour
bge-m3embeddings$0.05 / 1M tokens
bge-reranker-v2-m3rerank$1.50 / 1k searches

Token prices per 1M unless the unit says otherwise; a dash means the value isn’t set yet — confirmed when the model goes live. Everything here is served by the same API that bills you: GET /v1/models. Full list with model details →

Agents use the same API.

Accounts, funding, keys and refills are API operations. Your agent has no email address; it doesn’t need one. The documented loop is pure HTTP: create an account, fund the wallet it returns, call the endpoint, refill when a 402 says to. Zero human steps.

Why “IronStratum”

Iron: the load-bearing metal. Stratum: the layer everything else is built on. Banded iron formations — iron deposited in layers, older than almost anything alive — are where most of the world’s iron has always come from. We named the company after the job: be the layer that holds.

Questions

Does the API ever change?
Fields are added, never removed or repurposed. Breaking changes don’t ship — additions do, and the changelog records every one. Drift tests enforce this; it’s a contract, not a policy.
What happens when a provider has a bad day?
You don’t have providers. You have IronStratum. Every request is mediated: same shape, same behavior, nothing upstream leaks into your responses — not ids, not errors.
Is there a free tier?
No. No expiring credits either. The wallet is prepaid, limits are hard, and nothing about that changes after you sign up.
Can my agent sign itself up?
Yes. Account creation, funding, key rotation and refills are all API operations — no browser, no email, no human. See the agent docs.
Do you run the models yourselves?
Some. Ornith runs on deployments we control, and you won’t find it anywhere else. The rest of the catalog is delivered through upstreams we don’t name — from your side there’s only one API: ours.
Which endpoints are compatible?
Chat completions on OpenAI request and response shapes, plus speech, transcription, embeddings and rerank — all on the same key — and our credits and account endpoints. The OpenAPI specification is the complete, current list.
Changelog · OpenAPI specification · llms.txt — every claim on this site links to the artifact that backs it.