• Start

Overview

Extensions

Extend SurrealDB with custom modules and WASM plugins through the Surrealism extension system.

Available since: v3.0.0

Note

Surrealism plugins remain an experimental functionality under active development. This guide assumes the latest version of SurrealDB is being used (3.1.0), which contains many additions to Surrealism's core functionality. We look forward to feedback on the plugin system, either via raising an issue or PR on the SurrealDB repo, or anywhere else in the SurrealDB community such as our Discord server.

SurrealDB's extension system, known as Surrealism, lets you add custom functionality to the database engine without modifying its core. Extensions are compiled to WebAssembly (WASM) and loaded at runtime, which means they run in a sandboxed environment with predictable performance characteristics.

This section covers:

  • Plugins — an overview of the plugin architecture, how plugins are discovered and loaded, and the types of extensions you can create.

  • Guides — step-by-step walkthroughs for creating custom modules, understanding the module architecture, and working with WASM plugins.

  • Attribute reference — options for the #[surrealism] attribute used to mark functions as Surrealism functions, such as writeable, comment, init, and namespaced exports.

Was this page helpful?