Wasmee is a sandboxed WebAssembly execution engine written in Rust on top of Wasmtime. Engineered for high-density, crash-resilient executions, providing microsecond startup times and native state checkpointing.
Want to run these benchmarks yourself?
View Load Testing Guide & SourceWhy teams choose Wasmee for executing business logic and untrusted user-submitted code.
Serialize full memory states to PostgreSQL or AWS S3. Restore execution seamlessly even if the host machine crashes mid-step.
Compiles guest WebAssembly modules directly into machine code via Wasmtime Cranelift JIT. No virtual containers, no JVM overhead.
Strict execution constraints. Blocks unauthorized host network calls, directory listings, command lines, and OS threads.
Keeps a hot-cache pool of compiled modules ready to execute instantly. Reduces guest initialization overhead to near-zero.
Prevent resource exhaustion and infinite loops by defining strict execution limits (gas budgets) for untrusted guest tasks.
Bidirectional serialization mappings. Read/write execution context variables using simple import functions directly from guest Wasm.
How guest scripts leverage Wasmee host bindings for state-resilient executions.
use wasmee_sdk::guest::{get_variable, set_variable, LogLevel};
#[no_mangle]
pub extern "C" fn execute() -> i32 {
wasmee_sdk::log(LogLevel::Info, "Starting order calculation...");
// Retrieve environment variable from host
let total: f64 = get_variable("order_total").unwrap_or(0.0);
if total <= 0.0 {
wasmee_sdk::log(LogLevel::Error, "Invalid order total");
return -1;
}
let tax = total * 0.15;
// Save variable back to execution context
set_variable("calculated_tax", tax);
wasmee_sdk::log(LogLevel::Info, "Tax calculated successfully.");
0
}
// JavaScript Script Task executed in Wasmee's QuickJS runtime sandbox
function execute(vars) {
console.log("Starting order calculation...");
const total = vars.order_total || 0;
if (total <= 0) {
throw new Error("Invalid order total");
}
const tax = total * 0.15;
// Returns object back to host variables state
return {
calculated_tax: tax
};
}
package main
import (
"github.com/wasmee/sdk/go/guest"
)
//export execute
func execute() int32 {
guest.LogInfo("Starting order calculation...")
// Read variable from host environment
total, err := guest.GetVariableFloat("order_total")
if err != nil || total <= 0 {
guest.LogError("Invalid order total")
return -1
}
tax := total * 0.15
// Save variable back to context variables
guest.SetVariableFloat("calculated_tax", tax)
return 0
}
func main() {}
Register this URL as a Webhook in GitHub or GitLab to automatically hot-reload the JIT cache on push:
http://127.0.0.1:8081/git-webhook
Run untrusted user logic, scale microservices, or orchestrate complex execution pipelines at the speed of native code.