Automic VaultAutomic Vault

brew

Install wasm3 with Homebrew, MacPorts

High performance WebAssembly interpreter. Version 0.5.0 via Homebrew; verified 2026-06-15.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install wasm3

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install wasm3

MacPorts ports tree · lang/wasm3/Portfile · source: api.github.com

overview

Package summary

High performance WebAssembly interpreter

Commands and aliases

  • wasm3

history

Project history and usage

Wasm3 is a compact WebAssembly interpreter written in C, positioned by its maintainers as a fast and highly portable runtime rather than a JIT compiler. Its niche is running Wasm in places where engines such as V8, Wasmtime, or Wasmer are too large, unavailable, or unsuitable because dynamic code generation is restricted.

Project history

The source tree identifies Wasm3 as a high-performance WebAssembly interpreter with 2019 copyrights for Steven Massey and Volodymyr Shymanskyy. The project documentation explains that its M3 interpreter strategy existed before this specific Wasm runtime and was adapted because the approach fit WebAssembly's bytecode structure.

The interpreter documentation describes M3 as a C implementation using a novel high-performance topology. Instead of emphasizing ahead-of-time or just-in-time compilation, Wasm3 translates WebAssembly opcodes into internal operations intended to execute efficiently in an interpreter, making it a useful counterpoint to the compiler-heavy runtimes that dominate server-side Wasm.

Adoption history

Wasm3's adoption story is strongest in embedded and constrained-device circles. The companion Arduino repository says the runtime needs roughly 64 KB of flash and 10 KB of RAM for minimal functionality and lists devices such as ESP32, ESP8266, Arduino MKR, Particle, ST Nucleo, BluePill, Nordic nRF5, and Teensy as verified targets.

The main repository also frames Wasm3 as universal, with topics covering embedded, IoT, serverless, containers, sandboxing, smart contracts, and edge computing. That breadth reflects its role as a small embeddable engine: developers use it when they want Wasm as a portable plugin or scripting format but cannot afford a heavier optimizing runtime.

How it is used

Command-line users run wasm3 against a .wasm file to execute a module locally. Embedded users more often link the C runtime into firmware or an application host, load a Wasm module from flash, storage, or a network update path, and expose only a small set of host functions to the guest module.

Package-nerd usage tends to compare Wasm3 with WAMR, wasmi, wasm-interp, and JIT runtimes. Wasm3 is chosen for portability and low memory ceilings; Wasmtime or Wasmer are usually chosen when standard WASI coverage, component-model support, or peak JIT/AOT performance matters more.

Why package nerds care

Wasm3 is significant because it keeps the interpreter design space visible in a WebAssembly ecosystem often led by optimizing compilers. For package maintainers, it is a reminder that the same .wasm artifact can target browsers, server runtimes, and tiny boards, but that the host ABI and resource budget determine which runtime is realistic.

It also matters as a minimal embeddable dependency: a C runtime with a CLI and microcontroller examples is easier to fit into unusual packaging environments than a larger Rust or C++ runtime stack.

Timeline

  • 2019: Wasm3 source files identify the project as a high-performance WebAssembly interpreter by Steven Massey and Volodymyr Shymanskyy.
  • 2020: Wasm3 was discussed publicly as a fast WebAssembly interpreter in C, with attention on its M3 execution model.
  • 2020s: The Arduino and embedded repositories documented operation on small microcontrollers, giving Wasm3 a durable niche among constrained-device Wasm runtimes.

Related projects

  • WAMR is a related lightweight WebAssembly runtime aimed at embedded, IoT, edge, and trusted-execution use cases.
  • Wasmtime and Wasmer are heavier standalone runtimes with stronger WASI, embedding, and compiler stories.
  • The WebAssembly reference interpreter and wasm-interp are useful comparison points for correctness and testing rather than minimal embedded deployment.

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:interpreter

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 1 runtime dependencies.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
wasm3cliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version0.5.0
manager updated2026-06-15
local dataok
upstreamcurrent
latest detectedv0.5.0

https://github.com/wasm3/wasm3

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:wasm3
Version0.5.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/wasm3
Homepagehttps://twitter.com/wasm3_engine
Repositoryhttps://github.com/wasm3/wasm3
Upstream docshttps://github.com/wasm3/wasm3#readme
LicenseMIT
Source archivehttps://github.com/wasm3/wasm3/archive/refs/tags/v0.5.0.tar.gz
Last updated2026-06-15T10:21:23-04:00
Pulseupdated
Dependenciesuvwasi
Build dependenciescmake
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namewasm3
Version Scheme0
Revision0
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

MacPorts95%

wasm3

sudo port install wasm3
  • normalized package name match
  • Matched by: Wasm3
MacPorts ports tree · api.github.com · MacPorts ports tree: lang/wasm3/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment