# OpenAI limits lower than you expected: read the Limits page and your usage tier
## The symptom
429s at traffic levels that "should" be fine, or headers showing caps far below what you assumed. No code change will fix this; the account's tier is the ceiling.
## Confirm the cause
1. **Check the Limits page in the dashboard.** It shows your organization's actual rate limits per model. This is the source of truth, not blog posts or memory.
2. **Check your usage tier.** Tiers are Free, Tier 1, Tier 2, Tier 3, Tier 4, Tier 5, qualified by total paid spend (Tier 1 at $5 paid, Tier 2 at $50, Tier 3 at $100, Tier 4 at $250, Tier 5 at $1,000). Higher tiers raise both monthly usage limits and per-model rate limits.
3. **Check per-model limits.** Different models have different RPM and TPM caps at the same tier, and the model pages carry the numbers. A limit that binds on GPT-5 may not bind on a mini model.
4. **Check project token headers.** `x-ratelimit-limit-project-tokens` appears when a project-scoped token limit applies on top of the org limits.
## The fix
- If the tier is the ceiling and the workload is legitimate, the fix is spend: tiers rise automatically as total paid spend grows.
- If one model binds, route bulk or latency-tolerant work to a model with headroom.
- Set the org's monthly usage limit deliberately so a runaway job trips a limit instead of the credit card.
## Verify the fix
After the tier rises, confirm the new caps on the Limits page and in the response headers before raising job concurrency. Do not assume the upgrade; verify it.