Pure ARM64 assembly. No bundled dependencies.
Built to prove a practical agent CLI can stay small while remaining usable.
Everyone complains about TypeScript using too much memory. But TS is the fastest way to iterate and get community hooked. Ship value first, then optimize.
Ship fast, build community, iterate.
41 MBHarden it, single binary, zero overhead.
2 MBClose to metal, portable, proven.
143 KBAbsolute minimum, prove the point.
35 KBLower-left wins. Points use a log-like placement so extremes are still readable.
The cheapest, smallest hardware each implementation can realistically run on.
Apple M4, 16 GB RAM, macOS 15
OpenClaw requires macOS 13+ and Node.js 22+, minimum 8 GB RAM. The Mac Mini is the cheapest Mac available.
ARM Cortex-A53 1 GHz, 512 MB RAM, WiFi
NullClaw is a 678 KB static binary using ~1 MB RAM. The Pi Zero 2 W runs it without issues.
RISC-V C906 1 GHz, 64 MB RAM, Linux
CClaw is a ~143 KB C binary with libcurl. The Milk-V Duo runs full Linux with curl/TLS out of the box.
RISC-V 160 MHz, 400 KB RAM, WiFi + BLE 5
Bare-metal RISC-V with native TLS via ESP-IDF/mbedTLS. As low as $1.00/unit in 100+ lots.
just a prompt away — "Port AssemblyClaw to RISC-V assembly for the ESP32-C3 with ESP-IDF and mbedTLS. Keep the same CLI interface, arena allocator, and streaming JSON parser. Use ESP-TLS instead of libcurl for HTTPS."
site/public/benchmarks.json Measured on a local release build using hyperfine and /usr/bin/time -l. Executable links against libSystem; HTTP uses system libcurl at runtime.
Optimized for Apple Silicon ARM64 macOS builds. Every instruction is explicit and reviewable.
16 bytes/cycle string scanning with CMEQ + UMAXV vector instructions
16-byte allocation alignment with page-based arena growth for predictable memory behavior
CSEL is used in selected hot paths to reduce branching overhead
mmap-backed memory, zero fragmentation
ptr+len views with no NUL terminator overhead
Core operations call macOS APIs via libSystem symbols; HTTP is handled through libcurl FFI
31 general-purpose registers — hand-mapped to avoid spills and memory round-trips
Knowing your ISA means exploiting fixed-width decoding, load/store discipline, and instruction fusion the compiler can't
Generated from the current checkout before every bun run dev and bun run build. v0.1.1, 14 files, 5,722 mirrored lines, commit bf54a44.
Open the CLI entrypoint, inspect any module, or jump from the LP to the exact source file you want.
Source files and repo metadata are generated inside site/ before every dev/build run.
Programming languages will keep evolving. Every one of these is a prompt away from becoming an AI agent.
This project shows that even assembly — the lowest-level language — is within reach when you have a spec and an AI coding agent. Good times to be alive.
To Peter Steinberger, creator of OpenClaw, and the entire OpenClaw community.
Please don't use this. Just use OpenClaw.