Run workers on your own infrastructure
OpenWorkers is an open-source serverless platform built in Rust: JavaScript and TypeScript in V8 isolates, Rust as native WebAssembly components, with the Cloudflare Workers programming model - fetch handlers, KV, SQL, storage and cron.
addEventListener("fetch", (event: FetchEvent) => {
event.respondWith(handleRequest(event.request))
});
async function handleRequest(request: Request) {
return new Response("Hello world", {
headers: { "Content-Type": "text/html" }
});
}Everything a workers platform needs
The runtime, the bindings and the scheduling are part of the platform, not an integration exercise.
The Workers model
Fetch handlers, Request and Response, waitUntil - the API you already know from Cloudflare Workers, running on infrastructure you control.
Bindings built in
Key-value store, SQL database and object storage, declared per worker. Credentials stay on the host and never enter the sandbox.
WebAssembly workers
Write workers in Rust with a workers-rs-compatible SDK, in Go with TinyGo, or ship any standard wasi:http component.
Scheduled events
Cron expressions trigger scheduled handlers with the same runtime, limits and bindings as HTTP workers.
Web-standard runtime
fetch, streams, WebCrypto, URL, TextEncoder - tracked against a WinterTC-based conformance suite. WebSockets are in beta.
Self-hostable
A Rust runner plus PostgreSQL is a complete platform. The dashboard, the API and this very website run as workers on it.
Built with OpenWorkers
Real-world examples running in production. See what you can build with OpenWorkers.


Follow the engineering
Release notes and engineering posts. No marketing, unsubscribe anytime.


