ZeroClaw: how small can an agent get?
A full agent runtime in one static Rust binary. No interpreter, no dependency tree, and a footprint that makes snapshots small and wakes fast.
Most agent runtimes are an interpreter, a package manager, and a few hundred transitive dependencies wearing a trench coat. ZeroClaw is a single static Rust binary. You can deploy it on Maritime today, and the reasons it exists are worth understanding even if you never do.
What "one binary" buys you
ZeroClaw's container has no Python and no Node. The agent is one executable, its configuration is one TOML file, and its entire world (config, workspace, state) lives under one directory. It runs as nobody, an unprivileged user, because nothing about it needs root.
That sounds like minimalism for its own sake. On agent infrastructure, it is three concrete wins.
Snapshots are smaller. On Maritime's serverless hosts, sleep means serializing the VM's resident memory to disk. What is resident is what you pay to store and, more importantly, what a wake has to read back. An interpreter stack keeps the runtime, the import graph, and the allocator's high-water mark resident. A static binary keeps a binary.
Density is higher. Sleeping agents cost approximately nothing in CPU and RAM, so the per-host ceiling for agents is set by snapshot storage. Smaller resident sets mean smaller snapshots mean more agents per host. The economics of $1-a-month agents are downstream of numbers like this.
The attack surface is honest. No interpreter means no eval, no pip chain, no node_modules. The supply chain is the Rust crate graph, resolved at build time, shipped as machine code. Add the unprivileged user and you have a runtime where the boring security answer (there is nothing to escalate into) is actually true.
Small details that age well
Two design choices worth stealing. ZeroClaw's gateway speaks WebSocket under a versioned subprotocol (zeroclaw.v1), so the protocol can evolve without breaking old clients: version negotiation happens in the handshake, where it belongs. And configuration migrations run explicitly at startup, so a config written by version N is upgraded once, on disk, rather than reinterpreted forever in memory.
Running it
ZeroClaw is a first-class template on Maritime:
maritime create my-zero --template zeroclawYou get the same lifecycle as every other agent: an endpoint, encrypted secrets, triggers, sleep and wake. The dashboard chat, logs, and controls all work identically. The platform does not care that the thing inside the microVM is 100x smaller than usual. Your wallet might.
The bigger point
Agent frameworks compete on capabilities, and capabilities pull in dependencies, and dependencies pull in weight. ZeroClaw is the counterargument: most of what an agent runtime does is talk to an LLM, run tools, and keep state, and none of that requires shipping an interpreter to production. Small is not a compromise. On serverless infrastructure, small is a feature.