🦞OpenClaw Guide
← Back to BlogGuide

OpenClaw Cost Optimization: Stay Under $20/Month

2026-02-257 min read

Last Updated: February 2026

People burn through $100 in their first week with OpenClaw. Not because they're using it wrong — because nobody told them the right defaults.

This guide fixes that. Here's exactly how to run OpenClaw for under $20/month without giving up capability.


Why OpenClaw Gets Expensive Fast

OpenClaw routes every message, tool call, and background task through your chosen AI model. If that model is Claude Opus, you're paying premium rates for everything — including simple tasks that don't need it.

The average new user's mistake: set Opus as the default model, then ask it to do everything. Check email, run crons, summarize documents, reply to Telegram messages. Each of those costs money.

The fix isn't to use OpenClaw less. It's to use the right model for the right task.


The Model Tiering Strategy

Not every task needs Opus. Here's how to think about it:

Task TypeRecommended ModelWhy
Complex reasoning, coding, multi-step plansClaude Sonnet 4.5 / OpusNeeds capability
Simple replies, summaries, lookupsMiniMax M2 / Gemini Flash10–50x cheaper
Cron jobs, heartbeats, background tasksLocal model or FlashThese don't need a frontier model
File ops, CLI commandsAny cheap modelTool calls are cheap; model choice matters less

Set a fast model as your default. Save Opus for when you explicitly need it.

In your OpenClaw config:

model: minimax/MiniMax-M2

Then for specific tasks, override inline:

"Use Opus for this: review my entire codebase and identify security issues"


The 5 Biggest Token Drains (and How to Fix Them)

1. Long System Prompts Being Re-sent Every Message

Every message includes your full system prompt. If your AGENTS.md, SOUL.md, and MEMORY.md combined are 10,000 tokens, that's 10K tokens per message before you've even said anything.

Fix: Keep your workspace files lean. MEMORY.md should be under 3,000 tokens. Don't dump entire project docs into the context — use qmd query to pull only what's needed.

2. Cron Jobs Running on Expensive Models

If you have crons set to Opus, you're burning dollars while you sleep. A daily heartbeat cron running on Opus costs ~$0.50/day just to say "nothing to report."

Fix: Cron jobs should use the cheapest capable model:

{
  "model": "minimax/MiniMax-M2",
  "payload": { "kind": "agentTurn", "message": "..." }
}

3. Browser Automation Tasks

Every browser automation step costs tokens — the snapshot, the page content, the reasoning. A single web scrape can cost $0.10–$0.50 in tokens.

Fix: Use direct API calls wherever possible. If a site has an API (or you can capture its internal API via unbrowse), don't use the browser. Browser automation should be a last resort.

4. Sub-Agents Spawned Unnecessarily

Each sub-agent spawns a new session with its own context load. If you're spawning agents for simple tasks, you're paying context overhead for no reason.

Fix: Inline simple tasks. Only spawn sub-agents for complex multi-step jobs that would bloat the main context.

5. Verbose Reasoning Modes

Some models have extended reasoning/thinking modes. These are powerful but expensive — thinking tokens can be 3–5x the cost of normal tokens.

Fix: Only enable reasoning for tasks that genuinely need it. For most day-to-day tasks, standard mode is fine.


The $20/Month Setup

Here's a real configuration that keeps costs under $20/month for active daily use:

Default model: MiniMax M2.1 (free tier / very cheap on OpenRouter)

Heavy tasks: Claude Sonnet 4.5 (not Opus — Sonnet is 80% as capable at 20% of the cost)

Crons: MiniMax or Gemini Flash

Browser tasks: Minimize — use API replay instead

Memory files: Under 3,000 tokens total

With this setup:

  • 50 daily messages × MiniMax = ~$0.05/day
  • 10 Sonnet tasks/week = ~$0.50/week
  • Cron jobs (10/day) = ~$0.10/day
  • Monthly total: ~$8–15

OpenRouter vs Direct API: Which Is Cheaper?

OpenRouter aggregates multiple providers. For most models, it adds a small markup (~7%) but gives you access to free-tier models that offset the cost.

Best free/cheap models on OpenRouter:

  • google/gemini-2.0-flash-exp:free — free, fast, capable for simple tasks
  • minimax/MiniMax-M2 — excellent for general tasks, very cheap
  • deepseek/deepseek-chat — strong reasoning, very low cost
  • meta-llama/llama-3.3-70b-instruct:free — free tier available

Direct Anthropic API is cheaper per token for Claude models, but you pay for every token. OpenRouter's free models can cover your cheap tasks entirely.


Setting a Spend Alert

Don't wait until you get the bill. Set up a daily spend alert:

# Add to your OpenClaw cron (runs at 9am)
# "Check my OpenRouter/Anthropic API spend for today and alert me if over $2"

Or monitor it manually:

  • Anthropic Console: console.anthropic.com → Usage
  • OpenRouter: openrouter.ai → Activity

Set a hard limit in your API provider dashboard. Anthropic lets you set monthly spend caps.


The One Setting That Saves the Most Money

Turn off streaming for background tasks.

Streaming keeps connections open longer and can lead to partial retries. For crons and background tasks, non-streaming responses are more efficient.


Summary: Your Cost Reduction Checklist

  • Set MiniMax or Gemini Flash as default model
  • Reserve Sonnet/Opus for explicit heavy tasks only
  • All crons running on cheap models
  • MEMORY.md and workspace files under 3K tokens
  • No browser automation where an API exists
  • Monthly spend cap set in API provider dashboard
  • Daily spend alert cron configured

Following these seven steps, most users drop from $100+/month to under $20 without noticing any capability difference for daily tasks.


Related Guides

Learn alongside 1,000+ operators

Ask questions, share workflows, and get help from people running OpenClaw every day.