Deno logoDeno



A deployment is a snapshot of code and configuration required to run an isolate. You should treat deployments as immutable, because they may be cached by Deno Deploy Subhosting indefinitely. Deployments contain (among other things):

  • The source code for the isolate (as plain JS, or as an ESZIP).
  • Environment variables that should be set when the isolate is started.
  • Isolate permissions (like network access).


ESZIP is a proprietary file format that can be used to serialize an ECMAScript module graph losslessly into a single file. They are a good alternative to naive JS bundling techniques that generate single ESM files from a module graph, because they represent the module graph in its entirety, losslessly.

ESZIPs can be created using the toolchain from either JavaScript, TypeScript, or Rust.


An isolate is a lightweight virtual machine that is used to execute JavaScript and WASM code. Isolates are created by Deno Deploy as needed, and are destroyed when they are no longer needed. Isolates can be spun up in a matter of milliseconds.


The origin is a service built by you that implements a set of RPC endpoints that Deno Deploy Subhosting can use to retrieve information required to execute your code, and send events to your system.

Origin RPC

An origin RPC request is a HTTP request that is sent to your origin service. It is signed by a token provided to you by us. You must verify this signature. Origin RPC requests are usually JSON sent as, and may be compressed with gzip.


The relay is a service built by you that forwards incoming HTTP requests or events to Deno Deploy Subhosting.