> ## Documentation Index
> Fetch the complete documentation index at: https://docs.riza.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

The [Execute Code](/api-reference/command/execute-code), [Execute Function](/api-reference/command/execute-function)
and [Execute Tool](/api-reference/tool/execute-tool) endpoints are all backed by a set of runtime engines.
Every time you run code, it runs using exactly one of these engines.

Unless you've created a [Custom Runtime](/getting-started/adding-packages), your code runs using the default WASI engine. When you
create a custom runtime, the flags on your account determine which engine the custom runtime uses.

## WASI

The default runtime engine is [WASI](https://wasi.dev/), which is a server-side interface for WebAssembly.
This engine is extremely performant but has some limitations, notably limited support for third-party dependencies.

## V8

When you run code in a [Custom Runtime](/getting-started/adding-packages) for Python or JavaScript, by default that code runs
using our [V8](https://v8.dev/) runtime engine. This engine is more flexible than WASI but isn't quite as fast for Python.

## microVM (deprecated)

<Note>
  The microVM runtime engine is deprecated. We recommend migrating to the V8 engine for improved performance and continued support.
  For more information about this deprecation and migration guidance, see our
  [blog post](https://riza.io/blog/deprecating-microvm-custom-runtimes).
</Note>

For Python and JavaScript, we previously had a runtime engine based on microVMs. This
engine offered full JavaScript and Python third-party package support but was slower than the other engines and
didn't work with our [self-hosted solution](/self-hosting/quickstart), so we deprecated it.
