How to Cut OpenClaw Agent Costs by 80% with Model Switching

A Reddit user spent two weeks manually logging every OpenClaw agent interaction to figure out where their money was going. The results are a clear blueprint for optimizing spend on AI agents.
The Breakdown
Over 14 days on a Telegram + Discord agent, token usage broke down as follows:
- Heartbeats (30-min polls) — 38% of usage. Running on Opus at ~$6.75/M tokens. Complete waste for a status ping.
- File reads and summaries — 29% of usage. Also on Opus. Flash handles these identically.
- Actual conversations — 22% of usage. Here model quality matters.
- Complex tasks — 11% of usage. Where Opus genuinely outperforms Flash.
In total, 67% of spend went to tasks where DeepSeek V4 Flash ($0.14/M) would deliver identical quality to Opus ($6.75/M effective after tokenizer).
The Fix: Default to Flash, Escalate Only When Needed
Set your primary model to deepseek/deepseek-v4-flash in openclaw.json:
"agents": {
"defaults": {
"model": {
"primary": "deepseek/deepseek-v4-flash"
}
}
}Then use /model anthropic/claude-opus-4-7 mid-session when you hit something truly hard. The switch is instant — no restart, same session. Type /model deepseek/deepseek-v4-flash when you're done to drop back to cheap.
Results
Costs dropped from ~$170/month to ~$35/month. The quality difference on heartbeats, file reads, and simple questions was literally zero.
The user notes that BetterClaw's free tier (with BYOK) now shows per-task API spend, which would have caught the heartbeat waste immediately. But the core move — switching primary to Flash and /model-ing up to Opus only when needed — is the real takeaway.
📖 Read the full source: r/openclaw
👀 See Also

How to Set Up an AI-Powered Morning Briefing

Save on Claude Code Bills by Routing Planning Tokens to Cheaper Models
A user cut $40 in overage fees by splitting Claude Code workflows: planning steps go to Haiku 3.5, actual edits and decisions stay on Opus/Sonnet. A 30-line wrapper handles routing; setup took ~2 hours.

Fixing Claude's Time Hallucinations in Claude Code with Hooks
A user discovered that Claude Code lacks real-time clock access, causing it to incorrectly suggest actions like 'get some rest' at inappropriate times. The fix involves adding a one-line hook to ~/.claude/settings.json that injects the current time into Claude's context on every message.

Switching from GitHub Copilot Pro+ to Direct Anthropic API: A Cost Analysis
A developer's cost comparison shows direct Anthropic API can be cheaper than GitHub Copilot Pro+ for solo devs, with Sonnet 4.6 covering 80% of Opus use cases.