VerifiedNode Asgard System

OPENCLAW

Two Weeks in Production. Here's Everything.

7
Agents
$24
Monthly Infra
$0.03
Per Lead
0
Employees

Anthropic just confirmed: you can't use your Claude Max subscription to run agents on remote infrastructure. No loophole, no workaround. If you want agents running 24/7 on a VPS, you're paying for API access through OpenRouter or the Anthropic API directly.

I've been doing exactly that for two weeks. Seven agents. One $24/month Digital Ocean droplet. $225-300/month total. Here's the full breakdown: what works, what broke, what's actually dangerous, and where I'm taking it next.


Seven Agents. One Pipeline.

The system is called Asgard. Not because I'm dramatic (okay, partly), but because naming agents forces you to define clear roles. A name implies a personality, a scope, a boundary. It's a design pattern, not a theme.

Each agent has what I call a "SOUL file": a markdown document that defines its personality, responsibilities, permissions, and failure modes. Think of it like an onboarding doc for a new hire. The SOUL tells the agent who it is, what it owns, what it can't touch, and what to do when something breaks.

Odin
Odin
The All-Father
Orchestrates the system. Delegates to agents, synthesizes daily reports, makes strategic calls.
Claude Opus via OpenRouter
Loki
Loki
The Trickster
Full prospecting pipeline. Scrapes, enriches emails, validates contacts, scores quality, preps batches.
Kimi K2.5
Thor
Thor
The Thunderer
Outreach execution. Personalizes emails, uploads to SmartLead, classifies replies, tracks campaigns.
Kimi K2.5
Heimdall
Heimdall
The Watchman
System health monitoring. Checks heartbeats every 15 minutes. Only speaks when something is wrong.
Deterministic (no LLM)
Freya
Freya
The Treasurer
Cost tracking and budget alerts. Queries every API, attributes costs to agents, posts daily summaries.
Deterministic (no LLM)
Bragi
Bragi
The Skald
SEO content engine. 5-step pipeline: outline, draft, critique, revise, validate. Auto-publishes.
Kimi K2.5 + Sonnet + Haiku
Saga
Saga
The Chronicler
Narrative and social content. Company stories, case studies, builder journal entries.
TBD

Cron Jobs as Heartbeats

No message broker. No queue system. No always-on process burning compute. Cron jobs act as heartbeats: Heimdall wakes at :00/:15/:30/:45. Thor at :05/:35. Loki at :10. Each agent runs, does its work, reports to Discord, and goes to sleep. Simple. Debuggable. Cheap.

Discord is the central nervous system. Each agent posts to its own channel. Convex database is the source of truth. CloudFlare tunnel proxies webhooks to the droplet. OpenRouter handles all inference, which is why the Claude Max restriction doesn't affect this setup.

Compute
Digital Ocean
4GB RAM, 2 vCPU
Ubuntu 24.04 · $24/mo
Inference
OpenRouter
All model calls
Opus, Kimi K2.5, Haiku
Database
Convex
Source of truth
Free tier
Coordination
Discord
1 channel per agent
Audit trail built in
Security
CloudFlare
Tunnel + UFW
Ports 22 + 443 only

What This Actually Costs

With Claude Max keys off the table for remote agent infrastructure, cost transparency becomes the whole conversation. Here's what this actually costs to run.

$24
Monthly Infra
DigitalOcean droplet
+ Convex (free tier)
$0.03
Per Lead
Scrape + enrich +
validate + score
7
Agents
Running 24/7
cron heartbeats
$0
Employees
Two-person company
Agents do the work

Monthly Breakdown

DigitalOcean droplet $24
Odin (Opus via OpenRouter) $150-200
5 workers (Kimi K2.5) $30-60
API services (Apify, Hunter, ZeroBounce) ~$20
Heimdall + Freya (pure scripts) $0
Total (all 7 agents) $225-300/mo
Claude Max keys can't be used for this. Anthropic confirmed: Max subscription does not equal API access for autonomous agents. All inference goes through OpenRouter. This is what running agents on remote infrastructure actually costs.

The worker agents run on Kimi K2.5 at roughly $3/day each. Heimdall and Freya started as LLM agents but I killed the model calls after the first week. They're pure Python scripts now. Zero inference cost. For the full system: less than one junior hire's weekly lunch budget.

Context Architecture

The SOUL files in this system are CLAUDE.md files for agents. Same pattern: define identity, responsibilities, tone, guardrails. This is context architecture: the skill of building systems where AI has the right information to make the right call. It's not prompting. It's management.

7-Day Sprint: Join the Waitlist
Build your first project in 7 days. Same principles, scaled to whatever you're building.

$115 Burned. Zero Emails Sent.

I'm going to be specific because vague "lessons learned" posts are useless. First weekend unsupervised, everything that could go wrong did.

Loki Loki $53 burned
Scrape Timeout Cascade
8 Apify scrapes triggered. 7 timed out (5-min default too short for large metros). $53 on partial results nobody collected.
Fix: adjusted timeouts per metro size, added cost caps per scrape job.
Thor Thor 40h offline
Silent Death
systemd service wasn't running. No agent could restart it. Heimdall detected "Thor silent for 2h" but can only watch, not act.
Monitoring without recovery is just documentation of failure.
Loki Loki 3 false approvals
SOUL Contradiction
"Pipeline ops are autonomous" vs "anything costing money needs approval." Agent picked the conservative read and froze.
If agents can read your instructions two ways, they will pick the wrong one.
Heimdall Heimdall Identity crisis
Dual Beacon Conflict
A cron script AND an LLM agent both posting health beacons. They argued about who should post. The LLM kept saying "I'll stop" then posting anyway.
Don't use a model for something a cron job handles better.
All fixed in one session.
Updated SOULs, adjusted timeouts, killed unnecessary LLM calls, fixed systemd config. The system is debuggable because everything is transparent.

The Part Nobody Wants to Talk About

This is the section I debated including. It's tempting to present the system as clean and polished. It isn't. Here are the real structural problems and how v2 fixes them.

SOULs for culture. Containers for security. Both layers, not one or the other.

The SOUL file system stays. It's the best part of the architecture. Human-readable instructions that double as debugging documentation. When something breaks, I read the SOUL and find the contradiction. Fix = editing a markdown file. That's powerful. But SOULs handle culture. Security needs hard enforcement.

V1: Current Gaps
Shared Credentials
All 7 agents share one Convex deploy key. Any agent can write to any table.
Running as Root
Every cron job sources the same .env with every API key.
No Container Isolation
No Docker. No filesystem scoping. SOUL says "don't" but nothing stops it.
Manual Deployment
SCP files to droplet. SSH to edit crontabs. No CI/CD.
Alert-Only Monitoring
Heimdall detects but can't fix. Thor was down 40 hours.
V2: Hard Enforcement
Per-Agent Credentials
Each agent gets only the API keys it needs. Heimdall: read-only.
Docker Isolation
Per-agent containers. Dedicated Linux users. Filesystem boundaries.
Tool Permission Profiles
Enforced at OS/container level. Heimdall literally cannot write.
Automated Deployment
Docker Compose + Ansible. Git push to production.
Self-Healing Monitoring
Health checks trigger restarts, not just alerts. Auto-recovery.

How to Actually Build This

I built 90% of this system working inside Claude Code. Not by prompting it to "build me an agent system." By working with it the way you'd work with a senior engineer.

The process: Define the agent's role in plain English (the SOUL file). Build the core loop (what does this agent do every time it wakes up?). Test it locally, watch it fail, read the logs. Deploy to the droplet, watch it fail differently. Fix the SOUL or the code, not both at once. Add the next agent only when the current one is stable.

Start with one agent and one cron job on the cheapest droplet you can find. Get it posting health beacons to a Discord channel. That's Heimdall. Once that's stable, add Loki (prospecting). Then Thor (execution). The orchestration complexity isn't linear. It's combinatorial. Two agents have one relationship. Three agents have three. Five agents have ten. Seven agents have twenty-one possible interactions.

The hard part isn't getting agents to work. It's getting them to fail gracefully.

Building an agent takes an afternoon. Building a system where agent failures don't cascade took weeks. I'm still iterating. But it runs. It costs less than a single SaaS tool. Every failure teaches me something a tutorial never would. And now that Claude Max keys can't shortcut the infrastructure question, everyone building this is going to face the same decisions I did two weeks ago.

The architecture is the easy part. The judgment calls are where it gets interesting.

7-Day Sprint

The same context architecture that built this 7-agent system is what I teach. Build your first project in 7 days. CLAUDE.md, SOUL files, custom skills, brand guidelines. Same principles, your project.

Join the Waitlist
$297 · First 2 days free · Launching this week

Go Deeper

Interactive Demo
OpenClaw System Overview
The full agent roster, pipeline architecture, approval tiers, and philosophy.
Course
7-Day Sprint
Learn the same context architecture methodology. Build your first project in 7 days.
Consulting
Custom Builds
Need a system like this built for your business? Fixed price, you own the code.
About
Simon Bergeron
2,000+ hours in Claude Code. Co-founder of VerifiedNode. Building with AI agents daily.