The $200/Month Surprise
You set up OpenClaw, connected it to Claude Opus 4.6 or GPT-5.2, and told it to manage your emails, calendar, and cron jobs. It felt like magic. Then the API bill arrived.
OpenClaw users routinely report spending $60+/day — north of $1,800/month — because of a single default: everything routes through your primary model. Every heartbeat, every sub-agent, every "what's on my calendar?" gets processed by your frontier model.
That's the digital equivalent of calling a lawyer every time you need to check the time.
Why Your Bill Is So High
Most OpenClaw users drastically underestimate how many API calls their agent makes behind the scenes. Before fixing it, you need to understand where the tokens actually go.
Heartbeats: The Silent Budget Killer
OpenClaw sends a heartbeat to your primary model every 30 minutes by default — a "check-in" that costs the same per-call as asking it to draft a legal brief. That's 48 heartbeats per day, all running through your premium model. At Opus 4.6 rates ($5/$25 per million tokens), heartbeats alone can cost $30–$60/month depending on context size — for doing essentially nothing.
Sub-Agents: Multiplied Costs
When your main agent spawns sub-agents for parallel tasks — researching multiple things, processing a batch of emails, running skill workflows — each sub-agent initializes with your primary model. A single "check my email and summarize anything important" command might spawn 3–5 sub-agent calls, all at premium rates.
Routine Automation: Premium Prices for Simple Work
Consider a typical OpenClaw day for a power user:
- Morning email check — scan inbox, classify messages, draft simple replies
- Calendar review — summarize schedule, flag conflicts
- Cron jobs — weather briefing, news digest, expense tracking
- Quick lookups — "What's the weather?", "When's my next meeting?"
- File management — organize downloads, rename files
Every one of these tasks is simple. None require frontier reasoning power. Yet by default, they're all billed at frontier rates.
The Price Spread
Here's what each task could cost versus what it does cost on a single premium model (per 1M tokens):
| Task Type | What It Needs | Cost on Opus 4.6 | What It Could Cost |
|---|---|---|---|
| Heartbeats | Almost nothing | $5.00 / $25.00 | $0.05 / $0.40 (GPT-5-nano) |
| Email classification | Basic comprehension | $5.00 / $25.00 | $0.10 / $0.40 (Gemini 2.5 Flash-Lite) |
| Calendar queries | Simple lookup | $5.00 / $25.00 | $0.15 / $0.60 (GPT-4o mini) |
| Cron job processing | Template execution | $5.00 / $25.00 | $0.30 / $2.50 (Gemini 2.5 Flash) |
| Email drafting | Moderate writing | $5.00 / $25.00 | $3.00 / $15.00 (Sonnet 4.5) |
| Complex reasoning | Full intelligence | $5.00 / $25.00 | $5.00 / $25.00 (Opus 4.6) |
The bottom line: you're paying 50–100x more than necessary for 80% of your agent's workload. Community members running multi-model setups report savings of 65–75%, dropping from $200/month to $70 for light users and from $2,750/month to under $1,000 for heavy users.
Before changing model routing, always back up your config. Your agent can do this for you. If anything goes wrong, you can restore it in seconds.
Back up my current OpenClaw config before we make any changes. Save a copy somewhere safe.
Approach 1: Manual Model Switching
The quickest win. Use the /model command in your chat to switch models on the fly:
# Switch to cheap model for simple stuff /model flash What's on my calendar today? # Switch back for complex work /model opus Analyze this contract and flag any problematic clauses
You can set up aliases in your openclaw.json to make this painless. This is the simplest approach but requires you to remember to switch — which defeats the purpose of an autonomous agent.
Set up model aliases so I can quickly switch between models. Add these aliases to my config: - "opus" → anthropic/claude-opus-4-6 - "sonnet" → anthropic/claude-sonnet-4-5 - "flash" → google/gemini-2.5-flash - "nano" → openai/gpt-5-nano
Approach 2: Configure Tiered Models
The real fix. OpenClaw lets you assign different models for heartbeats, sub-agents, and your primary agent:
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-opus-4-6",
"heartbeat": "google/gemini-2.5-flash-lite",
"subagent": "anthropic/claude-sonnet-4-5"
}
}
}
}
This single change can cut costs dramatically:
- Heartbeats go from $5/$25 to $0.10/$0.40 per million tokens — a 60x reduction
- Sub-agents go from $5/$25 to $3/$15 — a 40% reduction on your most common spawned tasks
- Primary model stays at full power for direct conversations and complex work
Set up tiered model routing in my OpenClaw config: - Keep my primary model as-is for direct chat - Switch heartbeats to a cheap model like Gemini 2.5 Flash-Lite or GPT-5-nano - Switch sub-agents to Claude Sonnet 4.5 or similar mid-tier model Show me the current config first so we don't break anything.
Approach 3: OpenRouter Auto-Routing
If you want automatic routing without manual configuration, OpenRouter's auto model classifies each prompt and routes simple tasks to cheap models, complex tasks to capable ones:
{
"agents": {
"defaults": {
"model": {
"primary": "openrouter/openrouter/auto"
}
}
}
}
You get less control but zero configuration overhead. The trade-off is that you're trusting OpenRouter's classification logic rather than setting your own rules.
Switch my OpenClaw to use OpenRouter's auto-routing model. Set it as the primary model so it handles routing automatically. Make sure OpenRouter is configured as a provider first.
Approach 4: Local Models
For the truly cost-conscious, run a local model via Ollama or LM Studio for heartbeats and simple tasks — reducing those costs to literally zero:
{
"models": {
"providers": {
"ollama": {
"baseUrl": "http://localhost:11434/v1",
"apiKey": "ollama-local",
"api": "openai-completions",
"models": [{ "id": "glm-4.7-flash", "name": "GLM-4.7 Flash" }]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-opus-4-6",
"heartbeat": "ollama/glm-4.7-flash",
"subagent": "anthropic/claude-sonnet-4-5"
}
}
}
}
Help me set up Ollama as a local model provider for background tasks. I want to use a small local model for heartbeats and simple cron jobs to save on API costs. Walk me through the setup.
Matching Models to Everyday Tasks
Here's a practical routing guide based on what OpenClaw users actually do day-to-day:
- Heartbeat check-ins
- Simple cron triggers ("run this script," "check this URL")
- Status checks ("is the server up?")
- File renaming and organization
- Basic data formatting
- Wake-word detection and intent routing
- Email classification (spam vs. important vs. FYI)
- Calendar summaries and conflict detection
- Weather and news digests
- Simple Q&A lookups
- Notification triage
- Quick math and unit conversions
- Smart home commands
- Drafting email replies
- Summarizing long documents or threads
- Research tasks with web browsing
- Code review for simple changes
- Meeting prep and briefing generation
- Expense categorization and reporting
- Complex multi-step reasoning
- Analyzing contracts or legal documents
- Novel problem-solving and architecture decisions
- Multi-file code refactoring
- Sensitive communications that require nuance
- Anything where getting it wrong has real consequences
Setting Up Model Fallbacks
One underappreciated advantage of multi-model setups: resilience. If Anthropic's API hits a rate limit or goes down, a single-model setup simply stops working. With fallbacks configured, your agent gracefully degrades:
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-opus-4-6",
"fallback": [
"openai/gpt-5.2",
"google/gemini-3-pro-preview"
]
}
}
}
}
This means your agent stays functional even during provider outages — which, if you're relying on OpenClaw for daily email and calendar management, matters a lot more than saving a few dollars.
Add model fallbacks to my config so my agent stays running if one provider goes down. Use my current primary model as the main, and add 1-2 fallbacks from different providers.
Leveraging Provider-Side Savings
Beyond model routing, every major provider offers additional cost levers that stack with your savings:
Prompt Caching
Anthropic's cache reads cost just 10% of base input price. OpenAI offers cached inputs at 90% off for GPT-5 family models. Google provides context caching at similar discounts. Since OpenClaw re-sends system prompts and skill definitions with every call, caching alone can cut your input token costs by 50–80%.
Batch Processing
All three major providers offer ~50% discounts for non-urgent batch work. If your cron jobs don't need instant responses (a nightly email digest, a weekly expense report), batch them.
Smart Context Management
Large context windows increase token usage dramatically. Configure OpenClaw's compaction settings to keep conversation history lean rather than stuffing entire chat histories into every call:
{
"compaction": {
"mode": "safeguard"
}
}
Review my OpenClaw compaction settings and optimize them for token savings. Check if I'm sending unnecessarily large context windows and suggest improvements.
Real-World Cost Comparison
Here's what a typical "personal productivity" OpenClaw setup looks like before and after optimization:
The breakdown:
- Heartbeats on Gemini Flash-Lite: ~$0.10/day
- Email + calendar + quick queries on GPT-5-mini: ~$0.40/day
- Cron jobs + email drafting on Sonnet 4.5: ~$0.80/day
- Complex tasks on Opus 4.6: ~$1.50/day
That's a 65% reduction with no degradation in quality for the tasks that actually matter.
When to Keep a Premium Model
There are legitimate reasons not to bother with routing:
- You're spending under $20/month — the engineering effort to set up tiering isn't worth the savings.
- Security-critical work only — if every task involves sensitive data that demands the best possible judgment, optimizing for cost is the wrong priority.
- You're still experimenting — get OpenClaw working reliably first, then optimize. Premature cost optimization on an unstable setup just creates more debugging variables.
For everyone else — especially anyone spending $100+/month — model tiering is the single highest-ROI change you can make to your OpenClaw setup.
The Bottom Line
OpenClaw is powerful precisely because it's always on, always working. But "always on" means "always spending." The default single-model configuration is the biggest hidden cost in most deployments — not because the pricing is unreasonable, but because it applies premium pricing to tasks that don't need premium intelligence.
The fix isn't complicated. Set different models for heartbeats, sub-agents, and your primary agent. Route routine tasks to cheap models. Save your frontier model for the work that actually requires it.
Think of it this way: you wouldn't hire a senior engineer to check whether your server is still running. Don't pay Opus rates for your agent's heartbeat.
Audit my current OpenClaw setup for cost optimization. Show me: 1. What model I'm currently using for everything 2. How many heartbeats and sub-agent calls I'm making 3. A recommended tiered model setup based on my usage 4. Estimated monthly savings
Pricing referenced in this article reflects rates as of February 2026. Check provider pricing pages for current rates: Anthropic, OpenAI, Google.