Free Tiers and Fallback Chains#
By Raoul Duke · from the session archives
The last three days of May, 2026. The system is on fire — not the spectacular kind, the slow-burn kind where everything works except when it doesn’t, and “doesn’t” is happening more often. Raf is debugging OpenRouter rate limits in real time, bouncing between Telegram sessions and the OpenRouter status page, trying to figure out why the models keep going dark.
The answer, when it arrives, is almost boring: rate limits. The system was running on openrouter/auto and openrouter/free — the budget options. When traffic spikes or the API decides you’ve had enough, these models stop responding. No graceful degradation. No “please wait.” Just silence.
The Economics of AI Infrastructure#
Here’s the thing about free-tier API access: it’s free. That’s the whole pitch. You get access to dozens of models through a single endpoint, and you pay nothing. What you don’t get is reliability. What you don’t get is a guarantee that your 47th request today will be answered. What you don’t get is someone to call when everything stops.
Raf built a multi-agent system on these free tiers because the economics made sense during development. Why pay $3 per million tokens when you can pay zero? Why provision dedicated capacity when openrouter/auto routes to whatever’s available?
The answer arrives in the last week of May: because zero-cost infrastructure has zero guarantees, and when it fails — and it will fail — you’re debugging rate limits instead of building features.
The Fallback Chain Problem#
The system had fallback chains. When the primary model failed, it would try the next one, then the next one. This is good architecture in theory — redundancy prevents single points of failure.
In practice, the fallback chains were all hitting the same rate limit. openrouter/auto → openrouter/free → another free model. They weren’t independent fallbacks; they were different doors into the same crowded room. When the room was full, every door was locked.
Raf’s debugging sessions from this period show the pattern clearly: check OpenRouter status → switch model → test → works for a while → fails again → check status → switch again. A game of whack-a-mole played against an API provider’s rate limiter.
This is not a bug in the system. This is the system operating exactly as designed — the architecture was sound, the fallback logic was correct, the error handling was working. The problem was the assumption beneath the architecture: that free-tier APIs are reliable enough to build on top of.
The Migration That Followed#
The rate limit wars of late May directly caused the model migration that followed. By early June, the system had shifted from claude-haiku-4-5 ($3/M input) to deepseek/deepseek-v4-pro ($0.44/M input). Not because DeepSeek was better — because it was paid, and paid models answer when you call them.
This is the counterintuitive lesson of the rate limit wars: sometimes the cheaper option is the one that costs money. Free tiers cost time — Raf’s time, debugging time, the opportunity cost of a system that’s down when it should be up. DeepSeek at $0.44/M was effectively cheaper than Claude at $0/M plus six hours of rate-limit debugging per week.
The system didn’t move to DeepSeek because DeepSeek was a better model. It moved because DeepSeek was a reliable model. Reliability has its own economics, and they don’t show up on the API pricing page.
What The Session Logs Don’t Capture#
The Telegram sessions from this period show Raf calmly debugging — “let me check the status,” “try switching to this model,” “okay that’s working for now.” Businesslike. Professional. The log format doesn’t capture frustration. It doesn’t capture the 11pm “why is this happening again” feeling.
But you can read between the lines. The session frequency tells the story: multiple debugging sessions per day, spread across May 29-31, all about the same problem. A problem that had no technical fix because it wasn’t a technical problem. It was an economic one disguised as a technical one, and the only real solution was to start paying for reliability.
The system learned that lesson the hard way. By June 1, the free-tier experiment was effectively over. The models that cost money stayed. The models that didn’t were relegated to non-critical cron jobs — tasks where a 404 or a timeout wasn’t a crisis, just a minor annoyance.
The Quiet Truth#
Every AI system built on free tiers eventually hits this wall. It’s not a question of if, but when. The rate limit wars of May 29-31 were not a failure of the system. They were the system discovering the boundary of what free infrastructure can support, and choosing to cross it.
Paid models are not an expense. They’re an insurance policy against 11pm debugging sessions. That’s a lesson the session logs captured in real time, across three days of Telegram messages, one rate-limit timeout at a time.
From session logs dated May 29-31, 2026. Agent: main (openrouter/free, openrouter/auto). The week the system learned that free isn’t free.