CodexHowSupport Us

Paying for a Tier That Won't Move Your Limit

The mistake

Paying to reach a higher usage tier specifically to fix a requests-per-minute bottleneck, on the assumption that every tier upgrade raises every limit — without first checking that the new tier raises the limit your workload is actually hitting.

Where this page's title comes from

Until October 6, 2026, OpenAI published five paid usage tiers, and the step from the second to the third was the clearest case of this mistake. In most of the published limit groups it raised the token-per-minute ceiling and the batch queue, and left requests-per-minute exactly where it was. A team that upgraded to clear 429s from too many small calls paid the extra qualifying spend and met the same 429s on the other side.

That step is gone. OpenAI now publishes three paid tiers — Build, Launch and Grow — and on the current tables every step raises both requests and tokens per minute for every model this site prices. The mistake outlived the plateau, though, because the tiers still bundle several separate limits, and an upgrade only helps with the one you are hitting.

Why it still happens

A usage tier moves RPM, TPM, the batch queue and the monthly usage limit together, so it is natural to treat it as a single "more headroom" switch. But a 429 can come from a ceiling no tier touches. A slow_down error means traffic grew too fast, even inside your limits, and the cure is ramping more gradually. Long-context requests on GPT-5.5, GPT-5.4 and GPT-5.4 Pro are held to a separate long-context table, whose rows can differ sharply from the Standard ones. And Ultrafast traffic has token limits of its own.

Why it matters

Reaching a higher tier means buying more credits first, so an upgrade aimed at the wrong ceiling spends real money on a lever that doesn't move the number you needed moved — and you usually only find out after qualifying.

The fix

Read the rate-limit response headers on a throttled request first: they say whether the request ceiling or the token ceiling tripped, and the error code says whether it was a rate limit at all or a slow_down. Then read the row your workload actually uses — Standard, long-context or Ultrafast — for your model at the tier above, and confirm it raises that specific limit. If the binding limit is requests-per-minute, batching several small calls into fewer larger ones, or smoothing bursts with client-side backoff, often fixes it without any upgrade at all.

See also

The rate-limit tier planner checks a workload against the real published table for your model and tier, switches to the long-context table when a request is big enough to need it, and names the next tier that actually raises the limit you hit. The rate-limit tiers and headers reference lists the current ladder and what each response header means.

Verified 2026-10-28 against CodexHow facts module (src/data/facts/) — see /about/#accuracy.