You checked your API dashboard one morning and nearly choked. Dozens of interactions, a handful of background tasks, and somehow the bill looks like you ran a small AI company overnight. If that sounds familiar, you are not alone. “I already spend 40 dollars and don’t even use it much,” is a recurring theme in OpenClaw forums.
Here is the good news: most of that spend is not the work you asked for. It is OpenClaw’s defaults quietly routing everything through the most expensive model available, then re-sending your entire conversation history on every single call. You can fix the biggest leaks in about 10 minutes, without giving up the agentic power that makes OpenClaw worth running in the first place.
This guide walks through why the tokens pile up, how to see exactly where they go, and the config changes that cut most users’ bills by 70-90%.

Why OpenClaw Burns Tokens by Default
OpenClaw’s defaults are tuned for maximum capability, not minimum cost. Out of the box, the primary model is one of the most expensive options available. Heartbeat pings, background checks, and sub-agents all inherit that same premium model. Using your flagship model for a heartbeat ping is like hiring a neurosurgeon to apply a band-aid. Technically correct, catastrophically overpriced.
On top of the model choice, a typical agentic session leaks tokens in five places:
- Context accumulation (40-50%): your conversation history is resent with every API call. One real session dump showed 185,000 tokens in the messages bucket alone, before the model had even responded.
- Tool output storage (20-30%): shell output and file reads stay in the history and get re-sent every turn.
- System prompt resend (10-15%): the base prompt is roughly 15K tokens, though cached reads cut this to about 0.1x the price.
- Multi-round reasoning (10-15%): chained tool-calling loops stack tokens per turn.
- Heartbeats and sub-agents (10-20%): background pings and side tasks that run on the expensive default model.
The takeaway: if you are not clearing or compacting sessions between unrelated tasks, you are paying to re-transmit your entire history on every single turn.
How to See Where Your Tokens Actually Go
You cannot cut what you cannot see, so spend two minutes getting visibility before changing anything.
Inside OpenClaw, four commands do the heavy lifting:
/statusshows context usage, last input and output tokens, and estimated cost for the active model./usage fulladds a per-response usage footer with model, context, and cost details./context detailbreaks down tokens per file, per skill, and per tool./compactforces compaction when the session has grown too fat, optionally focused on a topic you want to keep.
Run /context detail before and after your config changes. That is how you measure whether the fixes actually worked.
If you route through OpenRouter, the Activity page filters by model, provider, and time period, and the Usage Accounting view breaks down prompt, completion, reasoning, and cached tokens per request. For heavier users, a LiteLLM proxy adds hard per-key budgets that survive a session clear, so a runaway sub-agent cannot blow past a cap you set.
The 10-Minute Fix: Cut Costs Without Breaking Your Agent
Step 1: Swap the default model
This is the single biggest lever. Moving from a flagship model to a capable mid-tier model cuts cost 3-5x on its own. The sweet spot for daily agentic work is a model with strong tool-calling reliability and multi-step reasoning, at a fraction of the flagship price. Reserve the flagship model for the hardest problems only.
Step 2: Route heartbeats to a cheap model
Heartbeat and keep-alive pings are simple lookups. They do not need a reasoning powerhouse. Point them at a budget model with an isolated session so background pings never bloat the main context. This alone eliminates a surprising share of the monthly bill for always-on agents.
Step 3: Give sub-agents their own cheaper model
Side tasks like research, drafting, and formatting run fine on a budget model. Configure a task model for background and sub-agent work, and keep the strong model only for the main session’s complex orchestration.
Step 4: Compact or clear between unrelated tasks
Context accumulation is the biggest bucket, and it is fully in your control. Clear the session when a task is done, or run /compact to shrink it. A fresh session pays a small system prompt instead of re-transmitting a 100K-token history.
Step 5: Cap tool output and image size
Smaller reads, tighter tool scope, and a lower image dimension cap all reduce what gets stored and re-sent. If you rarely need OCR-quality screenshots, lowering the image dimension setting cuts vision-token usage noticeably.
Step 6: Let caching do its job
Prompt caching means re-sent system prompt and stable context read at roughly 0.1x the input price. Keep your bootstrap files stable and avoid injecting large files into every session, and the cache covers the fixed overhead.

Common Mistakes That Keep the Bill High
- Running everything on the flagship model: heartbeats, sub-agents, and simple Q&A on the most expensive option is the #1 driver of waste.
- Never clearing sessions: a week-old conversation re-sent on every call is pure burn. Clear or compact between tasks.
- Chasing the absolute cheapest model: a model that fails and retries four times costs more than a mid-tier model that succeeds on the first try. Budget on outcomes, not just price per million tokens.
- Trusting stale dashboards: stored session token totals can be stale after compaction. Trust
/statusand/context detailover saved totals.
How Much Can You Realistically Save?
Community reports consistently land in the 70-90% range after a full audit. One developer documented a drop from roughly $600-750 per month down to $3-4 per day by stacking model routing with session hygiene. A lighter user running a handful of queries a day typically goes from around $100 to about $12 per month.
The exact number depends on your usage profile, but the pattern is consistent: model routing plus session hygiene gets most of the savings, and they compound with speed and fewer rate limits.
FAQ
Defaults route every interaction, including heartbeats and sub-agents, through an expensive flagship model, and conversation history is re-sent on every call. Both are fixable in config.
Use a capable mid-tier model with strong tool-calling reliability as your daily driver, a cheap model for heartbeats and sub-agents, and reserve the flagship model for the hardest tasks.
Not necessarily. The cheapest model is not always the cheapest outcome, since retries cost more. Pick a model with proven tool-calling reliability rather than the lowest price per token.
Context accumulation. Conversation history is resent with every API call and can be 40-50% of total usage. Clearing or compacting sessions between tasks fixes it.
Use /status for context usage and cost, /usage full for per-response details, and /context detail for a per-file, per-tool breakdown. Run them before and after config changes to measure results.
Final Thoughts
Your OpenClaw bill is not the price of having an AI agent. It is the price of running one on default settings. Ten minutes of config work, mostly model routing and session hygiene, turns a scary monthly bill into a rounding error, and your agent usually gets faster in the process.
Start with the audit: check /status and /context detail. Then swap the default model, route heartbeats and sub-agents to a budget model, and clear sessions between tasks. Measure again. That is the whole loop, and it is repeatable whenever the bill creeps back up.


Glad it helped! The /context detail command is the one most people skip – run it before and after changes and you’ll see exactly what’s working. The session clearing habit alone saves most people 30-40%.