Codex · AI costs ·

Codex credits explained: what they cost, earned limit resets and how to cap auto reload

When Codex tells you you've reached your usage limit on Plus or Pro, it may offer to add credits, and you may also have a usage limit reset you can redeem. This post explains what a Codex credit is, how to work out roughly what a turn costs in credits, where to check your balance and usage, what an earned reset is, and how to put a ceiling on what you spend on credits.

This guide pairs with Spend Caps Kit, and if you want the next step, read Prompt caching not working? Check it in OpenAI and Anthropic (Next.js).

Scope. Our ChatGPT Pro and Codex usage limits post covers your plan's included usage: how the limits work, how to track them and how to make them last. This post covers credits, which Codex draws on only after that included usage runs out.

Checked 17 Oct 2026 against OpenAI's own help centre, Codex docs and API docs (listed in Sources). Rates and plan details change often, so check those pages before you rely on a number here.

What we did and didn't test. We don't have a ChatGPT plan or a Codex account, and we haven't bought credits. Everything below about balances, automatic reload, resets and the /usage menu is quoted from OpenAI's docs, not tested. We haven't hit a limit, redeemed a reset or seen a credit charge. The only thing we ran ourselves is a small credit-arithmetic script with 14 unit tests, run with TZ=UTC. We aren't affiliated with or endorsed by OpenAI; ChatGPT and Codex are OpenAI's trademarks, and other product names belong to their owners; all are used here only to name those products.

Quick answer

  • Order of use: "Your plan's included usage is used first. After you hit plan limits, usage draws from your credit balance."
  • What a credit is: the unit Codex charges in after your included usage, at per-token rates that differ by model and by input, cached input and output.
  • What it costs in dollars: OpenAI doesn't publish one fixed figure. "Credit purchase prices and applicable discounts depend on your plan or agreement."
  • Where to check: Settings > Usage in ChatGPT, Usage & Billing in the Codex app, or /usage in the Codex CLI.
  • Earned resets: /usage lets you redeem one if you have one available. A reset isn't a credit.
  • Capping spend: automatic reload can have a maximum monthly spend, but that maximum doesn't cover one-time purchases.

What happens when you hit your Codex limit

The Codex pricing page says work in progress isn't cut off: "If you reach your usage limits during an active turn, the agent will be able to continue working on that turn, subject to fair use limits." After that, you have a few documented options:

  • Add credits. "ChatGPT Plus and Pro users who reach their usage limit can purchase additional credits to continue working without needing to upgrade their existing plan." The credits help page adds: "If you hit a usage limit in Codex on Plus or Pro, you'll see an option to add credits."
  • Wait for the reset. On a model that has reached its limit, the Pro plans help page says: "Use another available model or wait for the reset."
  • Use an API key. Covered in the last section below.

Two things you can't do, from the same Pro plans page: "Support cannot reset ChatGPT or Codex limits." And: "You cannot bypass a limit or increase it through a setting."

One allowance covers more than the terminal. The pricing page says: "Local messages and cloud chats share your plan’s usage allowance. Weekly limits may also apply." Credits are shared too: the credits help page says an eligible account can use its balance across Codex, ChatGPT Work, Word, Excel and PowerPoint.

What a Codex credit is, and how it relates to tokens

The pricing page defines it: "Credits are the unit used to pay for eligible usage on credit-based plans." It also says: "After you reach your included limits, available credits let you continue working."

Credits are charged per token, at a rate that depends on the model. These two rows are from the pricing page's rate table (credits per 1M tokens, Standard speed, as of 17 Oct 2026):

What a Codex credit is, and how it relates to tokens
Model Input Cached input Output
GPT-6.1 Sol 50 credits 2.5 credits 250 credits
GPT-6 Luna 2.5 credits 0.25 credits 12.5 credits

The full table on the pricing page lists more models. Three details from the same page:

  • Caching helps. Cached input has a much lower rate than fresh input in both rows above, and "Codex credit billing has no separate cache-write charge." Our prompt caching guide explains how caching works on the API side.
  • API prices are a different thing. "API token prices are separate from subscription usage; don’t use them to estimate included tasks."
  • Credit rates don't tell you your included allowance. "Credit prices alone don’t determine included subscription usage; check your usage dashboard for current limits."

What will a turn cost in credits? A worked example

OpenAI gives one rough guide, for an older model on the same table: "A typical GPT-5.6 Sol task may use 2-15 credits." To go further than that, you need token counts, and then the arithmetic is simple. This script does it for the two rows above:

// codex-credits.ts: estimate Codex credits for one turn from OpenAI's
// published rate table. Arithmetic only, not a prediction of your usage.
// Usage: npx tsx codex-credits.ts "GPT-6.1 Sol" 50000 150000 8000 [fast]

// Credits per 1M tokens at Standard speed: [input, cached input, output].
// Copied from learn.chatgpt.com/docs/pricing on 17 Oct 2026. Check first.
export const RATES: Record<string, [number, number, number]> = {
  "GPT-6.1 Sol": [50, 2.5, 250],
  "GPT-6 Luna": [2.5, 0.25, 12.5],
};

export function estimateCredits(model: string, input: number,
  cached: number, output: number, fast = false): number {
  const r = RATES[model];
  if (!r) throw new Error(`no rate for ${model}`);
  for (const n of [input, cached, output])
    if (!Number.isFinite(n) || n < 0) throw new Error("token counts must be >= 0");
  const credits = (input * r[0] + cached * r[1] + output * r[2]) / 1_000_000;
  // Purchased credits: Fast is billed at 2x the Standard rate.
  return Math.round(credits * (fast ? 2 : 1) * 10_000) / 10_000;
}

// How many turns like this a credit balance covers. A balance can go
// negative mid-task, so anything at or below zero covers none.
export function turnsCovered(balance: number, perTurn: number): number {
  if (!(perTurn > 0)) throw new Error("perTurn must be > 0");
  return balance > 0 ? Math.floor(balance / perTurn) : 0;
}

if (process.argv[1]?.endsWith("codex-credits.ts")) {
  const [model = "GPT-6.1 Sol", i = "0", c = "0", o = "0", speed] =
    process.argv.slice(2);
  const fast = speed === "fast";
  const per = estimateCredits(model, +i, +c, +o, fast);
  console.log(`${model}${fast ? " (Fast)" : ""}: ${per} credits per turn`);
  console.log(`100 credits cover ${turnsCovered(100, per)} turn(s) like this`);
}

Run it with a turn's token counts. Here is one made-up turn (50,000 fresh input tokens, 150,000 cached input tokens and 8,000 output tokens) on each model, and in Fast mode:

npx tsx codex-credits.ts "GPT-6.1 Sol" 50000 150000 8000
npx tsx codex-credits.ts "GPT-6.1 Sol" 50000 150000 8000 fast
npx tsx codex-credits.ts "GPT-6 Luna" 50000 150000 8000

The three runs printed:

GPT-6.1 Sol: 4.875 credits per turn
100 credits cover 20 turn(s) like this
GPT-6.1 Sol (Fast): 9.75 credits per turn
100 credits cover 10 turn(s) like this
GPT-6 Luna: 0.2625 credits per turn
100 credits cover 380 turn(s) like this

Some notes on reading it:

  • This is arithmetic, not a forecast. OpenAI warns that "Model choice, context, reasoning, tool use, retrieval, and caching all affect usage, so prompt length alone isn’t a reliable estimate." Our token counts are made up for the example.
  • We treat "input" as the input that wasn't cached. The table lists the three rates separately but doesn't spell out the split, so check against your own usage if you rely on it.
  • Fast mode costs more. The Speed docs say: "For supported models, Fast mode uses included subscription limits at 2.5x the Standard rate. Purchased credits and Enterprise pay-as-you-go usage are billed at 2x the Standard rate." Ultrafast bills purchased credits at 6x, and among Pro plans it's only on Pro 500.
  • Where the token counts come from. In the CLI, /status is documented as: "Display session configuration and token usage." If you're counting tokens for your own API calls, our count tokens guide covers the OpenAI and Anthropic endpoints.

The script type-checks under tsc --strict and passes 14 unit tests. The tests cover the worked example, Fast mode, each rate in the table, zero and invalid token counts, an unknown model and a negative balance. One test also checks the two rows against our saved copy of the pricing page.

Credits to dollars: why there's no single answer

People often search for a dollar value per Codex credit. OpenAI's pages we read don't give one for personal plans: "Credit purchase prices and applicable discounts depend on your plan or agreement." The price you'll pay is the one shown when you buy, so check it there.

Two more things to keep apart:

  • They aren't API credits. The credits help page says: "These credits are not API credits." Credits you buy for Codex don't pay for API calls made with a key, which are billed separately.
  • They aren't your wallet. "Your usage-credit balance is separate from your ChatGPT wallet balance." The same page says redeeming a gift card adds to the wallet, not to your usage credits.

Where to check your credits and usage

  • In ChatGPT or the Codex app: "Check Settings > Usage in ChatGPT or Usage & Billing in the Codex app for your current balance and recent usage."
  • In the Codex CLI: the slash command docs describe /usage as "View account token usage or use a rate-limit reset." You can jump straight to a view with /usage daily, /usage weekly or /usage cumulative.
  • For the current session: /status shows the session's token usage.

Our usage limits post covers the usage dashboard and keeping an eye on your included allowance.

Usage limit resets available: what an earned reset is

If you've seen a message saying you have one or more usage limit resets available, it most likely refers to the earned resets the Codex docs describe. We haven't seen the message ourselves. The slash command docs say that typing /usage opens a menu where you can "Choose whether to show token activity or redeem an available earned reset."

The docs we read don't list every way to earn a reset. One documented way is a ChatGPT Desktop referral promotion. OpenAI's referral page says: "Referral benefits may include usage credits, a rate-limit reset, temporary additional usage, or another benefit described in the offer." From the same page:

  • Where it applies: "Rate-limit resets are available only for ChatGPT Work or Codex, as described in the offer."
  • When it expires: "For offers that grant a banked rate-limit reset, the reset applies only to ChatGPT Work or Codex, as described in the offer, and must be used within 30 days after it is added to your bank, unless the offer says otherwise."
  • What it isn't: "Rate-limit resets and temporary usage windows are not credits and do not create a cash, API, or transferable credit balance."

So, by OpenAI's terms, a reset and a credit balance are separate things. The exact terms are in each offer, so read the offer you were shown.

Cap your credit spend

Credits are pay-as-you-go, so the useful question is what stops a long session from running up a bill. The credits help page documents automatic reload: "When your credit balance drops below your selected minimum balance, we automatically purchase enough credits to return it to your selected target balance, up to any maximum monthly spend you set, using your default payment method on file."

Three details matter here:

  • The maximum covers reloads only. "The maximum monthly spend applies to automatic reloads, not one-time credit purchases."
  • A balance can go below zero. "If a task starts while your balance is positive but finishes after concurrent usage depletes it, your balance can go negative." The page says later purchases or reloads may first offset that negative balance.
  • A reload can happen as soon as you turn it on. The page says that if your balance is already below the minimum, "a purchase may happen right away."

A cautious setup, based on those rules:

  1. Leave automatic reload off unless you need unattended top-ups.
  2. If you turn it on, set a maximum monthly spend you'd be comfortable hitting.
  3. Buy one-time amounts deliberately, since the maximum doesn't count them.
  4. Keep Fast mode for when speed matters, because it bills credits at 2x.
  5. Check Settings > Usage or Usage & Billing after heavy sessions.

Do credits expire? Refunds and transfers

From the credits help page:

  • Expiry: "Credits are valid for 12 months from purchase. Unused credits expire and do not roll over after the expiry date."
  • Refunds: "Credits are non-refundable unless required by law or contract, or an approved exception applies." The page lists the exceptions, such as a verified billing error.
  • Transfers: "Credits are non-transferable, have no cash value, and cannot be resold or gifted."

So it's worth buying in amounts you expect to use within a year.

When an API key is the better meter

For scheduled or CI work, signing Codex in with an API key replaces credits with an API bill. The auth docs say: "OpenAI bills API key usage through your OpenAI Platform account at standard API rates." The Speed docs add: "With an API key, Codex uses API token pricing instead, and ChatGPT credit multipliers don’t apply." Cloud features such as GitHub code review aren't available with an API key.

The API side has a hard cap that credits don't have. The spend limits guide lets you set a monthly hard limit on a project. Requests over it fail with a 429 and project_spend_limit_exceeded. Two cautions from that guide: "Spend alerts do not enforce a cap." And: "Enforcement is not instantaneous, so recorded spend can slightly exceed the configured amount." Our 429 errors guide covers how to handle that error in your own code.

If you run Codex models through the API with a key, our AI API cost calculator can help you estimate the API token cost at API rates; it lists GPT-6.1 Sol and GPT-6 Luna. It doesn't calculate ChatGPT credits or included usage. For a worked CI setup, see section 6 of our usage limits post. Whether an API key works out cheaper than credits depends on your models and volume, and we haven't compared them for any workload.

If you also use Claude Code or Cursor

Each tool has its own limits and extra-usage rules:

Related


Disclosure: this is our own paid product. If work you move to an API key becomes part of your own Next.js app, calling OpenAI or Anthropic on your users' behalf, the Spend Caps Kit is designed to add per-user rate limits and a monthly dollar cap per user. It doesn't change your Codex or ChatGPT limits, credits or resets, it doesn't track or cap Codex credit spend, and it doesn't replace an OpenAI project spend limit. It costs $19 (plus VAT where applicable).

Sources (checked 17 October 2026):