ARM64 Assembly v0.1.1

The world's smallest AI agent.

Pure ARM64 assembly. No bundled dependencies.
Built to prove a practical agent CLI can stay small while remaining usable.

35 KB Binary
4 ms Startup
1312 KB RAM
scroll
The Story

The natural
progression.

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.

01

TypeScript

Ship fast, build community, iterate.

41 MB
02

Zig

Harden it, single binary, zero overhead.

2 MB
03

C

Close to metal, portable, proven.

143 KB
04

ARM64 Assembly

Absolute minimum, prove the point.

35 KB
Benchmarks

Numbers don't
lie.

Cost vs Startup Speed

Lower-left wins. Points use a log-like placement so extremes are still readable.

TS
Zig
C
ASM
Cost (USD) → Startup (ms) →

Binary Size

TypeScript OpenClaw
41 MB
Zig NullClaw
2 MB
C CClaw
143 KB
Assembly AssemblyClaw
35 KB

RAM Usage

TypeScript OpenClaw
370 MB
Zig NullClaw
1 MB
C CClaw
5 MB
Assembly AssemblyClaw
1 MB

Startup Time

TypeScript OpenClaw
754 ms
Zig NullClaw
5 ms
C CClaw
7 ms
Assembly AssemblyClaw
4 ms

Cheapest Hardware to Run It

TypeScript OpenClaw
$499
Zig NullClaw
$15
C CClaw
$9
Assembly AssemblyClaw
$1.50

Cheapest Hardware It Can Run On

The cheapest, smallest hardware each implementation can realistically run on.

TS $499
Mac Mini M4

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.

Zig $15
Raspberry Pi Zero 2 W

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.

C $9
Milk-V Duo

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.

ASM ~$1.50
ESP32-C3 Super Mini

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."

Benchmark Conditions
Machine Loading…
OS Loading…
CPU Loading…
Memory Loading…
Last Run (UTC) Loading…
Data Source 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.

Under the Hood

Pure silicon
craftsmanship.

Optimized for Apple Silicon ARM64 macOS builds. Every instruction is explicit and reviewable.

NEON SIMD

16 bytes/cycle string scanning with CMEQ + UMAXV vector instructions

Cache-Aligned

16-byte allocation alignment with page-based arena growth for predictable memory behavior

Branchless

CSEL is used in selected hot paths to reduce branching overhead

Arena Allocator

mmap-backed memory, zero fragmentation

Zero-Copy Strings

ptr+len views with no NUL terminator overhead

libSystem Calls

Core operations call macOS APIs via libSystem symbols; HTTP is handled through libcurl FFI

Register Allocation

31 general-purpose registers — hand-mapped to avoid spills and memory round-trips

ISA-Aware Code

Knowing your ISA means exploiting fixed-width decoding, load/store discipline, and instruction fusion the compiler can't

src/
include/
Source

Browse the real
assembly.

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.

14 Files
5,722 Lines
v0.1.1 Version
bf54a44 Commit
167 KB Mirror Size
14 / 14

Source files and repo metadata are generated inside site/ before every dev/build run.

Get Started

One command
away.

Recommended

Homebrew

Terminal
$ brew install gunta/assemblyclaw/assemblyclaw

Build from Source

Terminal
$ git clone https://github.com/gunta/AssemblyClaw.git
$ cd AssemblyClaw && ninja
$ sudo install -m 0755 build/assemblyclaw /usr/local/bin/assemblyclaw
Browse mirrored main.s

Quick Start

Terminal
$ assemblyclaw --version
assemblyclaw 0.1.1 (arm64-apple-darwin)
$ assemblyclaw agent -m "Hello from assembly!"

Special Thanks

To Peter Steinberger, creator of OpenClaw, and the entire OpenClaw community.

Please don't use this. Just use OpenClaw.

Built by

Günther Brunner

Design Engineer

Shipping products where precision meets creativity — from open-source tools adopted by hundreds of companies to AI agent written in pure assembly.

Creator of OpenSTF (13k+ GitHub stars, used by Netflix, Alibaba, and Google), TurboToken (ultra-fast tokenizer), and organizer of the AI Code Agents Festival Tokyo.