wazero is a pure Go WebAssembly runtime that compiles and executes Wasm modules without CGO or any external dependencies. It provides a zero-dependency engine that runs on every Go-supported platform, including riscv64, making it a fully self-contained solution for embedding WebAssembly execution inside Go applications.
The runtime offers two execution modes: an ahead-of-time compiler that translates WebAssembly modules into platform-specific machine code for near-native performance, and an interpreter that executes bytecode directly for maximum portability across architectures. Each module is instantiated in its own sandbox with isolated memory, globals, and tables to prevent host corruption. wazero also includes a host function bridge that exports Go functions as host modules, allowing WebAssembly guests to import and call them for I/O and other system operations.
The project provides a complete surface for compiling WebAssembly binaries, running exported functions, and bridging Go code with guest modules, all within a single Go program. Its documentation covers installation, compilation, execution, and host function integration.