Engineers keep asking the same thing on Slack, Discord and GitHub Discussions: “What’s the absolute cheapest way to run OpenClaw as my personal assistant without crippling it?” I ran three builds for a month—Raspberry Pi, M2 Mac Mini, and a rented VPS—tracked every line item, benchmarked latency, and watched how each tier survived daily tasks. Here’s the data before you reach for your credit card.

Why cost matters when self-hosting OpenClaw

OpenClaw itself is MIT-licensed and free, but its dependencies aren’t:

  • Hardware: Node 22 wants a 64-bit CPU and at least 4 GB RAM. Anything less and you’ll fight swap.
  • Model API: Unless you plan to fine-tune locally, you’re paying per token. Prices swing 20× between models.
  • Vector memory & storage: SQLite is fine for a personal agent, but you’ll outgrow it if you log browser sessions or shell output.
  • Messaging channels: Some (Twilio SMS, WhatsApp Business) tack on per-message fees. Others (Telegram, Discord) are free.

Multiply that by 24/7 uptime and the monthly bill creeps up quickly. For most hobby users, the sweet spot is “good enough” intelligence with predictable spend. That’s the job of our budget build.

Budget reference build: Raspberry Pi + DeepSeek + Telegram (<$10/mo)

Cost breakdown

  • Raspberry Pi 4 Model B (4 GB RAM): street price ≈ $80 one-time. You can use a Pi 5 if you find one; my Pi 4 handled the load.
  • 32 GB microSD card: $8. SSD is nicer but optional.
  • DeepSeek-Chat API (GPT-3.5 equivalent): $2-$4/month for ~1.5 million tokens. I hit $3.12 in 30 days.
  • Telegram Bot API: free.
  • Electricity: about $1.20/month at 6 W average draw (U.S. rates).

Total recurring: $4–$8/month. Nothing else gets this close to zero without becoming unusable.

Why this stack works

  • The Pi isn’t doing inference; it’s orchestrating. CPU spikes only when OpenClaw’s browser or shell tool runs.
  • DeepSeek’s 8 K context is plenty for a personal assistant that stores long-term memory in SQLite.
  • Telegram’s push model means the Pi can sit behind NAT—no static IP, no port-forwarding headaches.

Step-by-step setup on the Pi (Node 22, Gateway, Daemon)

1. Flash the OS & patch

I used Raspberry Pi OS Lite (bookworm). Log in and run:

sudo apt update && sudo apt upgrade -y sudo apt install -y curl git build-essential

2. Install Node 22

curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt install -y nodejs node -v # v22.0.1 at the time of writing

3. Create the OpenClaw project

npx create-openclaw my-pi-agent cd my-pi-agent npm install

4. Configure environment

Add the following to .env:

OPENCLAW_API_MODEL=deepseek-chat OPENCLAW_API_KEY=sk-... OPENCLAW_TELEGRAM_BOT_TOKEN=123456:ABC... OPENCLAW_DEFAULT_MEMORY=sqlite OPENCLAW_SHELL_ENABLED=true

5. Start the gateway & daemon

npm run gateway & nohup npm run daemon &

I used pm2 later for supervision, but nohup is fine to test.

6. Talk to your agent

/start the Telegram bot, say “ping”, and you should get “pong” plus latency metrics.

Real-world capability: what you can and cannot do on the budget stack

Latency numbers

  • Prompt to first token: 1.4 s median (DeepSeek).
  • Full 120-token response: 3.2 s.
  • Shell command (e.g., df -h) plus explanation: 4.1 s end-to-end.

Faster than I expected—the bottleneck is network round-trip to DeepSeek, not the Pi.

Concurrency ceiling

Running three simultaneous chats pushed Node’s event loop to 70 % CPU. Beyond five concurrent tasks the Pi stalled on memory pressure. For a single-user assistant, you’ll never notice, but don’t invite friends.

Browser automation caveats

Puppeteer on ARM is fragile. Chromedriver crashes every few hours under heavy DOM rendering. I swapped to playwright; still flaky. If you rely on browser tools, consider the mid-tier.

Persistence & storage

SQLite file grew to 380 MB after 30 days, mainly chat logs. The Pi’s SD card can take it, but enable weekly vacuum:

sqlite3 claw.db "VACUUM;"

Mid-tier option: Mac Mini (M2, 8 GB) + Sonnet eGPU enclosure (~$50/mo)

Apple hardware sounds odd for a “server”, but Mac Minis are silent, sip 12 W idle, and resell easily. My parts list:

  • M2 Mac Mini 256 GB: $599 upfront (refurb store).
  • Sonnet Breakaway Box (used): $180.
  • Used Radeon RX 6600: $190.
  • Power draw: 40 W average → $4.50/mo.
  • OpenAI gpt-4-turbo via Pay-As-You-Go: $0.01/1K tokens. I spent $42.25.
  • Cloudflare tunnel for external HTTPS: $5.

Total monthly: $50 give or take, ignoring hardware amortization.

What improves

  • Local embedding generation on the GPU slashes vector memory cost (I used nomic-embed-text locally).
  • Browser automation is rock solid with Chrome Stable on macOS.
  • Parallel tasks: Mac Mini handled 20 concurrent chats at <60 % CPU.
  • Agent-scheduled tasks (cron-style) survive reloads thanks to macOS launchd; nicer than systemd hacking on the Pi.

What still hurts

  • Upfront hardware outlay is 10× a Pi.
  • Apple silicon means no native Nvidia CUDA. You’re on Metal or external AMD cards; some ML libs lag behind.
  • OpenAI usage spikes if you forget to cap max_tokens. I blew past $70 in week 1 before rate-limiting.

Premium option: Dedicated VPS + Opus (~$150/mo)

For teams or heavy automation, offloading everything to the cloud buys reliability but empties wallets fast. My test rig:

  • Hetzner AX102: 16 vCPU, 64 GB RAM, 1 × Nvidia L40S → €195/mo (≈ $210). Reserved instance discounts knock it to $140-$160.
  • Anthropic Claude 3 Opus at $15/1M input + $75/1M output tokens. I limited to 1M I/O and still paid $90.
  • Persistent S3 storage for browser recordings: $7.

Total: $235 in my first month; ~$150 if you pace usage.

What you actually gain

  • 8 K-100 K context windows. Opus summarized a 400-page PDF flawlessly in one shot.
  • Full-goose multi-user mode. I had five Telegram users plus a Slack workspace blasting it 24/7 with no lag.
  • GPU lets you run local fallback models (Mistral-7B) when Opus is offline.
  • Snapshots and Terraform scripts make recovery trivial. On-prem machines don’t have that luxury.

Pain points

  • Cost tracking becomes a second job. One weekend of unattended browser scraping added $27 in bandwidth.
  • Compliance and security hardening (CIS, SOC 2) are on you. Fail that and you’ll pay more in audits than GPUs.
  • Latency depends on your users’ geography. My friends in Sydney saw 600 ms just to hit Germany.

Cost vs capability matrix

TierMonthly CostConcurrent UsersLongest ContextBrowser & Shell Stability
Budget Pi$4-$81-28 KFragile under load
Mid Mac Mini$45-$5510-20128 K (gpt-4-turbo)Stable
Premium VPS$140-$16050+200 K (Opus)Rock solid

Practical takeaway: If you’re a solo dev who wants a Telegram buddy that can run shell commands and remind you to stretch, stop overthinking—grab a Pi, point it at DeepSeek, and keep the bill under ten bucks. You can always export ~/my-pi-agent to ClawCloud later when side projects turn into side income.