---
title: "VM Layer"
path: "/contents/tech/core-protocols/vm-layer"
version: "1.0.0"
author: "Hydrate"
createdAt: "2026-05-03T09:53:55.560Z"
updatedAt: "2026-05-03T09:53:55.560Z"
---

# VM Layer

<Infobox>
| Engine — VM |
| Engine Layer |
| `radix-engine, scrypto-compiler` |
| [radixdlt-scrypto](https://github.com/radixdlt/radixdlt-scrypto) |
</Infobox>

## Introduction

The VM layer of the Radix Engine executes blueprint code. Two virtual machines coexist: the Scrypto VM, which runs developer-authored WebAssembly compiled from Scrypto, and the Native VM, which runs the engine's built-in blueprints (Account, Package, ConsensusManager, Pools, etc.) in native Rust for efficiency. Both VMs implement the same invocation contract defined in `radix-engine-interface`.

## External Links

- [radix-engine crate](https://github.com/radixdlt/radixdlt-scrypto/tree/main/radix-engine)

- [Scrypto compilation pipeline](https://github.com/radixdlt/radixdlt-scrypto/tree/main/scrypto-compiler)