Newv0.10.3 is out

Your Codex accounts, pooled your way.

Codex Pooler is a gateway you run yourself. Group your Codex accounts into Pools for your teams, agents and projects, give every tool its own key, and each request goes to an account with room to spare. Even tools without Codex support can run on your subscriptions, through the OpenAI-compatible API.

  • Free to self-host
  • Docker or Kubernetes

Works with the tools you already use

How it works

Flip the switch.

Without Pooler, each tool is tied to one account: when it runs out the tool stalls, other accounts sit idle, and saved resets expire before anyone uses them. With Pooler, each Pool shares its accounts among its tools, and saved resets get used when a Pool runs dry or just before they expire.

2 tools stuck · a saved reset sits unused

Your tools

Codex CLIWorkingAccount token stored here
CursorWorkingAccount token stored here
OpenCodeWorkingAccount token stored here
OpenHandsWorkingAccount token stored here

Codex Pooler

Product teamAccounts A · B
AutomationAccounts C · D

Your Codex accounts

Account APro
–
2 saved resets
Account BTeam
–
1 saved reset
Account CPlus
–
1 saved reset
Account DPro
–
No saved resets
Tools stuck on a limit
2
Accounts sitting idle
2
Saved resets unused or expired
1
Machines holding account tokens
4

Illustrative simulation with hours compressed into seconds. Auto redeem is opt-in per account, and real routing also weighs model support, account health and ongoing sessions.

Pools

A Pool for every team, agent and project.

Split your accounts and traffic into as many Pools as you need. The team, the agents and each project get their own accounts, keys and rules, so background jobs stop competing with the people at their keyboards.

Product team

active

Accounts

  • Account A64% left
  • Account B41% left
  • Account Cshared78% left

Keys 12

Codex CLICursorOpenCode+9 more

Bridge ring routingSticky sessions

Automation

active

Accounts

  • Account D55% left
  • Account E83% left

Keys 3

Nightly agentReview bot+1 more

Quota first routingKeys: gpt-6-luna only

Research

active

Accounts

  • Account Cshared78% left
  • Account F92% left

Keys 2

Notebook SDK+1 more

OpenAI-compatible APIImages on
  • Own accounts, keys and rulesEach Pool decides which accounts serve it, which keys can use it and how requests are routed.
  • Share when it makes senseAn account can serve several Pools at once, like Account C here.
  • Switches per PoolTurn the OpenAI-compatible API, image generation or audio on only where you need them.
  • Numbers per PoolStats, request logs, alerts and admin access can all be scoped to a single Pool.

OpenAI-compatible

Your Codex plan, even where Codex isn't supported.

Plenty of coding tools and agents can't talk to Codex, but they can talk to the OpenAI API. So can Pooler. Paste a Pool key and Pooler's address, and those tools run on your Codex subscriptions instead of pay-per-token API credits.

What the OpenAI-compatible endpoint covers

  • Responses and Chat Completions, with streaming
  • Model list
  • Files
  • Audio transcription
  • Image generation and edits

It covers the requests coding tools and SDK apps actually send, not the entire OpenAI API. Some tools call the endpoint from their own servers, so Pooler has to be reachable over the internet for them. Each guide says what its tool needs.

What you get

Control over every key, eyes on every request.

Pooler takes care of the parts that get messy when several people, tools and agents run on a handful of Codex accounts.

Keys you control

Every tool, teammate or bot gets its own key. Give it an expiry, choose which models it may use, cap requests per minute or tokens per day, and pause or revoke it in one click. Account tokens never leave Pooler.

Observatory for every key

Turn it on for a key and whoever holds it gets a read-only dashboard of their own usage: success rate, cache hits, speed and cost. No admin access needed.

About the Observatory →

Ask your AI assistant

Connect any MCP client to Pooler's read-only MCP endpoint and ask about accounts, quota, Pools, keys and requests in plain words.

MCP endpoint →

Saved resets, never wasted

Codex sometimes banks a limit reset for an account. Turn on auto-redeem and Pooler spends it when that account runs dry, or before it would expire unused. Keep a few in reserve if you like, and export the upcoming expirations to your calendar.

Stats per Pool, a log of every request

The Stats page adds up requests, tokens and estimated cost for each Pool. The request log shows every single one: which tool sent it, which account and model served it, cache hits, timing and cost.

Hear about trouble first

Get an email or a webhook when an account runs low, needs to sign in again, or a Pool is running out of usable accounts.

Everything else

And a lot more, already built.

The details that matter once real teams and agents run on Pooler every day.

Routing and continuity

  • Each request goes to an account that can serve it: model support, quota, health and key limits are checked first
  • Conversations stay on the account that started them
  • No session ID from the client? Pooler derives a stable one, so the provider's cache stays warm
  • Requests that share a cache key prefer the same account
  • Four routing strategies, from an even spread to quota first
  • Failing accounts are set aside for a while, then tried again

Protocols

  • Codex backend API over HTTP streaming and WebSocket, for Codex CLI, Desktop and other Codex-native tools
  • OpenAI-compatible Responses and Chat Completions
  • Files, audio transcription, image generation and edits
  • Compressed request bodies: gzip, deflate and zstd
  • WebSocket reconnects that tell an exact retry from an edited turn
  • A read-only MCP endpoint for operators and their assistants

Keys and access

  • Keys you can pause, rotate, revoke or give an expiry
  • Per key: allowed models, an enforced model, a reasoning-effort ceiling and a service tier
  • Per key: concurrent requests, requests per minute, tokens per day and per week
  • Per Pool: switches for the OpenAI-compatible API, images and audio
  • Owners and Pool-scoped admins, with two-factor sign-in

Accounts and quota

  • Add accounts by signing in with OpenAI, importing an auth.json, or sending an invite link
  • 5-hour, weekly and per-model quota for every account
  • Saved resets with guarded auto-redeem and a reserve you choose
  • Upcoming reset expirations as a calendar file
  • Provider throttling is respected, never pushed past

Visibility

  • Stats per Pool: requests, tokens and estimated cost
  • A request log with cache hits, timing and cost
  • An Observatory dashboard for each key
  • Lens, to spot responses that report a different model
  • An audit log of every admin change
  • OpenAI incidents right in the dashboard
  • Prometheus metrics and ready-made Grafana dashboards

Security and operations

  • A runtime firewall with an IP and CIDR allowlist and trusted proxies
  • Outbound traffic through your own HTTP proxy, if you want
  • Account secrets encrypted at rest; keys shown only once
  • Alerts by email and webhook
  • Settings you can change live, without a redeploy
  • Docker Compose for one machine, or Helm on Kubernetes with separate web, worker and scheduler roles across several replicas

The dashboard

A control room for every Pool.

Every account, Pool, key and request in one place, updated as traffic flows.

Every Pool at a glance: Traffic, keys, requests and cost for each Pool over the last 24 hours.

Every Pool at a glanceTraffic, keys, requests and cost for each Pool over the last 24 hours.

Get started

Up and running in minutes.

A machine with Docker, or a Kubernetes cluster. No sign-up with us, and nothing is ever sent to us.

  1. 1

    Start Pooler

    Docker Compose runs the app and its database on one machine. On Kubernetes, the Helm chart runs separate web, worker and scheduler roles. Both pin a stable release.

  2. 2

    Add your accounts

    Sign in with OpenAI, import an existing Codex login, or send a teammate an invite link.

    Adding accounts →
  3. 3

    Hand out keys

    Create a key for each tool or person and point the tool at Pooler. That's the whole setup.

    Creating keys →
git clone https://github.com/icoretech/codex-pooler.gitcd codex-pooler# pin the latest stable releaseexport CODEX_POOLER_IMAGE_TAG=0.10.3scripts/self-host/generate-env.shdocker compose pulldocker compose up -d# then open http://localhost:4000

Yours, end to end

Your server. Your accounts. Your data.

Pooler is software you run, not a service you sign up for. Requests travel from your server to OpenAI, directly or through your own proxy, and never through us.

What Pooler is not: a way around OpenAI's limits or terms. Every account keeps its own limits. Pooler helps you make full use of the accounts you're allowed to use, together.

  • Runs where you want

    A laptop, one server with Docker Compose, or Kubernetes with the Helm chart. Nothing is hosted by us.

  • Secrets stay locked

    Account tokens are encrypted at rest. Pool keys are shown once, then only as a short prefix.

  • Your network, your rules

    Allow only the IP ranges you choose, trust your own reverse proxies, and send outbound traffic through an HTTP proxy.

  • Read every line

    The full source is on GitHub, free to self-host under the Elastic License 2.0.

FAQ

Questions, answered.

Something missing? The docs go deeper on every part of Pooler.

Is Codex Pooler a hosted service?

No. You run it on your own machine, server or cluster. There's no hosted version and no account to create with us.

Does it let me go past Codex limits?

No. Every account keeps its own limits. Pooler spreads work across the accounts you connect, so capacity you already have doesn't sit unused while someone else is stuck.

Can tools without Codex support use it?

Yes, if they let you set an OpenAI API key and base URL: use a Pool key and Pooler's /v1 address. Some tools send requests from their own servers, so Pooler has to be reachable over the internet for them. OpenAI-compatible setup.

Does Pooler store my prompts or code?

No. It keeps what it needs for routing and accounting, like the tool, account, model, timing, tokens and estimated cost, and nothing of the content.

Which tools work with it?

Codex-native tools like Codex CLI and Desktop, OpenCode, Hermes Agent, OpenClaw, Pi and OMP, plus tools that only speak the OpenAI API, like Aider, Cline, Continue, Cursor, Goose and Kilo Code, and apps built on the OpenAI SDKs. The OpenAI-compatible endpoint covers the requests those tools send, not the entire OpenAI API. See what's supported.

Which accounts can I add?

Codex accounts you're allowed to use this way. Pooler doesn't change what your OpenAI plan permits, so check its terms. Account owners can join through an invite link and sign in with OpenAI themselves.

What do I need to run it?

Docker with Compose is enough to start, and the database comes included. For production there's a Helm chart for Kubernetes with separate web, worker and scheduler roles. Deployment guides.

How much does it cost?

Nothing. It's free to self-host. The source is available under the Elastic License 2.0, which lets you run, modify and self-host it, but not offer it to others as a managed service.

Is it made by OpenAI?

No. Codex Pooler is an independent project by iCoreTech. It is not affiliated with or endorsed by OpenAI.

Jump in.

Set up Codex Pooler in a few minutes and put every Codex account you have to work, for every tool your team uses.