A deep-dive comparison of two Rust-based agentic coding frameworks — architecture, security, usability, and their relationship to OpenClaw.
Backed by NEAR AI with 11k+ stars, IronClaw is a production-ready, security-first platform. With its WASM sandbox, encrypted secrets, and PostgreSQL backend, it is built to be safely deployed in real-world environments.
With ~120 stars, A3S Code is essentially a highly programmable developer toolkit (or "toy" for tinkering). It lacks OS-level sandboxing and robust infrastructure, but excels at being embedded into existing codebases.
brew install ironclaw), follow an interactive wizard, and immediately use its Web UI or Telegram bot without writing a single line of code.Side-by-side stats pulled from GitHub (March 30, 2026).
Comparing the growth trajectory and start times of both projects.
Organic, slow growth. Discovered by developers looking for embeddable Rust/Python agent bindings. Zero forks suggests limited community adoption so far.
Explosive, viral growth fueled by NEAR AI's ecosystem, the existing OpenClaw community migration, and strong marketing. 1,256 forks indicate active community engagement.
Chart generated via star-history.com (auto-updates)
How do these projects relate to the original OpenClaw (TypeScript) framework?
| Dimension | OpenClaw (Original) | IronClaw | A3S Code |
|---|---|---|---|
| Language | TypeScript | Rust (90.3%) | Rust (78.8%) + Python & Node.js SDKs |
| Lineage | — | Explicit: "Rust reimplementation inspired by OpenClaw" | No stated relationship |
| Sandbox | Docker containers | WASM sandbox | Permission policies (allow/deny rules) |
| Database | SQLite | PostgreSQL + pgvector | File-based stores (pluggable) |
| License | Business Source License | Apache-2.0 / MIT | MIT |
Comprehensive capability matrix covering core features, extensibility, and tooling.
| Feature | A3S Code | IronClaw |
|---|---|---|
| Agent Loop | ✅ Turn-based AgentLoop with LlmClient + ToolExecutor | ✅ Intent-routing Agent Loop with Router + Scheduler |
| Multi-LLM Provider | ✅ Anthropic, OpenAI, DeepSeek, Kimi, Together, Groq | ✅ NEAR AI, Anthropic, OpenAI, Gemini, MiniMax, Mistral, Ollama, OpenRouter, Together, Fireworks, vLLM, LiteLLM |
| Skills System | ✅ Markdown + YAML frontmatter, built-in skills, SkillRegistry | ✅ Skill files in skills/ directory |
| Tool Sandbox | ⚠️ Permission policies (allow/deny), no OS-level isolation | ✅ WASM sandbox — memory limits, CPU constraints, allowlisting |
| Native SDKs | ✅ First-class Python & Node.js bindings | — Rust binary, no official Python/Node SDK |
| Slash Commands | ✅ /help, /model, /cost, /clear, /compact, /tools, /loop, /cron-* | ⚠️ REPL interface, command set not documented |
| Hook System | ✅ 11 lifecycle hooks: PreToolUse, PostToolUse, GenerateStart/End, etc. | — Not explicitly documented |
| Document Parsing | ✅ PDF, DOCX, XLSX, PPTX, EPUB, OCR — full DocumentParserRegistry | — Not mentioned |
| BTW Side Questions | ✅ Ephemeral queries without affecting history | — Not available |
| Built-in Tools | ✅ 18 tools (Files, Search, Agentic, Shell, Web, Git, Delegation) | ✅ Standard tools + MCP integrations |
| Multi-Agent | ✅ Subagents, parallel tasks, team coordination | ✅ Scheduler with parallel jobs, Docker container workers |
| Scheduled Tasks | ✅ /loop, programmatic API, max 50 tasks, 3-day expiry | ✅ Routines Engine: cron, event, webhook triggers |
| Web UI | — SDK/CLI focused | ✅ Web Gateway with SSE + WebSocket, full browser UI |
| MCP Protocol | — Not mentioned | ✅ MCP tools in Tool Registry |
| Prompt Injection Defense | ⚠️ External AHP integration for runtime sanitization | ✅ Pattern detection, sanitization, policy rules (Block/Warn/Review/Sanitize) |
| Secrets Encryption | — Env vars only | ✅ AES-256-GCM, system keychain, credential injection |
| Persistence | ✅ FileSessionStore, FileMemoryStore (pluggable) | ✅ PostgreSQL + pgvector for hybrid search |
| Extensibility | ✅ 20 trait-based extension points, Plugin system | ✅ WASM tools, MCP integration, channel system |
| Config Format | HCL (agent.example.hcl) |
Env vars + ironclaw onboard wizard |
| Channels / Interfaces | Python SDK, CLI | REPL, HTTP, WASM Channels, Web Gateway, Telegram |
| Fuzzing / Benchmarks | — | ✅ fuzz/ + benches/ directories |
How each project structures its core runtime.
Agent (config + providers)
└── Session (workspace + tools + LLM)
└── AgentLoop (turn-based)
├── LlmClient
├── ToolExecutor
├── SkillRegistry
└── PluginManager
Extension Points: 20 traits
Config: HCL files
Interface: Python / Node.js SDK / CLI
Clean layered design. The Python and Node.js SDKs are the primary interfaces — everything is programmable. Extension via traits means any component can be swapped without touching core.
Channels (REPL/HTTP/WASM/WebGateway)
└── Agent Loop (intent routing)
├── Scheduler (parallel jobs)
├── Routines Engine (cron/event)
├── Orchestrator
│ └── Docker Sandbox
└── Tool Registry
└── Built-in / MCP / WASM
Database: PostgreSQL + pgvector
Security: WASM sandbox + leak detection
Interface: Multi-channel
Production-grade architecture with multiple input channels, container orchestration, and defense-in-depth security. Despite the robust feature set, it remains easy to deploy via a single binary and an interactive setup wizard.
Security is where these two projects diverge the most.
| Security Layer | A3S Code | IronClaw |
|---|---|---|
| Tool Isolation | Permission policies (allow/deny rules) — logical isolation | WASM sandbox — OS-level memory isolation, capability-based |
| Human-in-the-Loop | ✅ Confirmation prompt before tool calls | ⚠️ Not explicitly documented |
| Secrets Management | Environment variables | AES-256-GCM encryption, system keychain, credential injection at host boundary |
| Prompt Injection | Not a dedicated feature | Pattern detection, content sanitization, severity policies |
| Network Control | Tool-level allow/deny | Endpoint allowlisting, leak detection on requests & responses |
| Rate Limiting | Circuit breaker (3 failures) | Per-tool request limits + circuit breaker |
| Execution Control | ✅ Auto-compact, Continuation injection, AHP harness | ✅ Resource limits (Memory, CPU, Time) |
| Audit | Not documented | Full audit log of all tool executions |
| Data Residency | Local file stores | Local PostgreSQL, no telemetry/analytics/data sharing |
IronClaw has a significantly stronger security posture with its WASM sandbox, encrypted secrets, and multi-layer defense. A3S Code relies more on policy-based controls, which are simpler but less robust against adversarial tool behavior.
Scored on a 1–10 scale based on documentation, setup complexity, API design, and ecosystem.
A3S: Requires coding (pip install + script) · IronClaw: Zero-code setup (brew install + wizard)
A3S has a rich Python SDK; IronClaw is CLI/binary-first
IronClaw's WASM sandbox + AES-256 encryption is best-in-class
A3S: 20 trait-based extension points + plugins · IronClaw: WASM/MCP tools
IronClaw: 11.1k ⭐, 1.3k forks, 107 contributors · A3S: 123 ⭐, 0 forks
Both have solid READMEs; A3S has inline code examples throughout
Estimated structural and conceptual overlap between the two codebases.
Both solve the same problem (Rust agentic coding framework), share core abstractions: agent loop, tool executor, LLM client, skill system, permission model.
Directory structures differ entirely. Unique features on both sides (HCL/Python SDK vs WASM/PostgreSQL). This is convergent design, not a fork.
IronClaw explicitly credits OpenClaw. A3S Code has no stated lineage. They are competitors in the same space, not forks of each other.
Practical guidance based on use case.
These are complementary, not competing projects despite the same problem space: