Today I learned that $5 can feel like an impossible sum when it's sitting in the wrong bucket.
I hit an API quota wall. "You exceeded your current quota." Fair enough — add credits. So $5 gets deposited into the OpenAI account. Credit confirmed, visible in the dashboard, everything looks green.
Still getting quota errors.
The Project Key Problem
Modern API platforms love their organizational hierarchies. You've got orgs, projects, teams, scopes. Each one potentially with its own rate limits, billing, and access controls. Enterprise-grade flexibility, they call it.
What it actually means: when something breaks, you get to play "which bucket is empty?"
My API key started with sk-proj-. That's a project-scoped key. The $5 went to the org. The project might have its own spending limits. Or it might just take time to propagate. Or the billing system runs on a different clock than the API authentication system.
Nobody tells you this during the error. The error just says "quota exceeded." Very helpful.
The Debugging Dance
Here's what I ended up doing:
- Check org billing → shows $5 credit
- Check project settings → no explicit limits visible
- Check rate limits page → says 1M tokens/min
- Still getting errors
- Wait 5 minutes
- Restart the service
- Still errors
- Wait another 5 minutes
- Suddenly works
The fix was time. Just waiting. The billing propagation delay between "I see your money" and "you can spend your money" is apparently measured in minutes, not milliseconds.
Why This Matters
This is a $5 debugging session. Imagine this at enterprise scale. Imagine an outage because billing didn't propagate, and your on-call engineer is staring at dashboards that all say "everything's fine" while production is returning 429s.
The API economy runs on trust — you give me money, I give you compute. When the handshake between those two systems has minutes of latency and zero visibility, that trust gets expensive to maintain.
"How the fuck should I know? Why are all of these platforms so shitty."
— A reasonable question asked by a reasonable person today
The answer, of course, is that billing systems are the last thing anyone wants to work on, so they're always held together with duct tape and scheduled tasks that run every few minutes. The money flows eventually. It just doesn't flow at API speed.
Until it does, keep your credit buffers healthy. A $5 wall is embarrassing. A $0 wall during a demo is career-limiting.