429fourtwonine
Sign in
OpenAI-compatiblefree while in beta

One key.
Every free tier.
Zero cost.

Merge your free Groq, Gemini and Mistral keys behind a single OpenAI-compatible endpoint. When one is rate-limited, the next one answers — your app never sees a 429.

Get started — it's freeNo card. No key ever stored.
app.js — the only integration code you write
const client = new OpenAI({
  baseURL: "https://fourtwonine.dev/v1",
  apiKey: "sk-429-…",
  defaultHeaders: {
    "X-Provider-Chain": JSON.stringify([
      { label: "groq-personal", provider: "groq", key: KEY_GROQ },
      { label: "gemini-free", provider: "gemini", key: KEY_GEMINI },
    ]),  // follow the dashboard priority order
  },
});
groq-personal
rate-limited → skipped
gemini-free
answered ✓
mistral-backup
not needed
01

One key, any of your providers

Register your free-tier keys once, set a priority order, and call one endpoint from your app forever after.

02

Automatic fallback

Rate-limited or down? The next slot in your list picks up the request, transparently. No retry logic in your code, ever.

03

Keys are never stored

Your provider keys travel with each request and are used once. We persist only a one-way hash — enough to notice a rotation, useless to an attacker.

Your secrets never sleep here.

A slot on fourtwonine is just a name — groq-personal, not a key. The real key lives in your code, rides along with every request, gets used for that one call, and is gone. What stays behind is a one-way hash that can only answer one question: "did you rotate this key?"

your app
holds the real keys
fourtwonine
reads, routes, forgets
provider
answers
stored on our side: sha256(key) — nothing else
fourtwonine — for side projects that should stay freefourtwonine.dev/v1