RADIX WikiRADIX Wiki

Overview

Scrypto is Radix's smart-contract SDK for Rust: a crate, a set of macros and a CLI that build a blueprint crate into WebAssembly. You need three things: the Rust toolchain, the WebAssembly compilation target, and the Radix CLI tools.

Fastest Path: VS Code Dev Container

If you would rather not install a Rust toolchain at all, the official Scrypto Starter repository ships a pre-configured VS Code Dev Container with everything below already in place. This is the fastest way to a working environment; the manual steps that follow give you the same result with full control over versions.

  1. Download and install VS Code.
  2. Install the Dev Containers extension from the Extensions sidebar, then follow its prompts to install Docker Desktop.
  3. Clone the starter repository:
    git clone https://github.com/radixdlt/scrypto-starter.git
  4. Open the folder in VS Code (File > Open Folder). When prompted, choose Reopen in Container – or run Dev Containers: Reopen in Container from the Command Palette (View > Command Palette).
  5. Once the container finishes building, confirm the Radix Engine Simulator is ready:
    resim --help

If that works, you can skip straight to Your First Blueprint.

Quick Install (Automated)

The Scrypto repository ships official install scripts for macOS, Debian/Ubuntu, and Windows that install a known-good, pinned toolchain in one step – WASM target included. They pin Rust 1.92.0, LLVM 21, and radix-clis 1.3.0 – a CLI pin two releases behind the current Scrypto v1.4.0 of 7 September 2026. This is the fastest path to a working setup, but it does not give you the same toolchain as the manual steps below; see Version Pins at the end of this page before you choose.

1. Install Rust

Install Rust via rustup. Scrypto declares no minimum Rust version in its manifest; what it pins is a toolchain, and 1.4.0's rust-toolchain.toml names 1.92.0, as 1.3.1's did. Older releases built on 1.81.0, and that number is still what you will meet in the places listed under Version Pins below.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"

2. Add the WASM Target

Scrypto compiles blueprints to WebAssembly for deterministic execution on the Radix Engine.

rustup target add wasm32-unknown-unknown

The Other WASM Target

Rust is not the only compiler in the chain. Scrypto's cryptography pulls in blst, a C library. Cargo builds it with the system C compiler. Apple's clang carries no wasm32 backend, so scrypto build stops on a fresh macOS install:

error: unable to create target: 'No available targets are compatible with triple "wasm32-unknown-unknown"'

The automated script above sidesteps this by pinning LLVM 21. The manual path does not. Install LLVM and point Cargo at it:

brew install llvm
export CC_wasm32_unknown_unknown="$(brew --prefix llvm)/bin/clang"
export AR_wasm32_unknown_unknown="$(brew --prefix llvm)/bin/llvm-ar"

Add both exports to your shell profile. brew --prefix resolves the location on Apple Silicon and Intel alike.

3. Install Radix CLI Tools

The radix-clis crate provides scrypto (compiler), resim (local simulator), and rtmc (manifest compiler).

cargo install --force radix-clis@1.4.0

Unpinned, cargo install radix-clis resolves to the same 1.4.0, published 9 September 2026 alongside Scrypto v1.4.0; the version is written out here because the official install scripts pin an older one. See Version Pins below.

Build time

First install compiles from source and may take several minutes. Subsequent installs are faster.

4. Verify

rustc --version
scrypto --version
resim --version

All three commands should print version numbers without errors.

IDE Setup

For the best experience, install VS Code with the rust-analyzer extension. This gives you inline type hints, autocompletion, and error checking for Scrypto code.

Troubleshooting

Missing WASM target

If Rust reports wasm32-unknown-unknown target not found, re-run:

rustup target add wasm32-unknown-unknown

blst fails to build

One error names the same triple and takes a different fix:

No available targets are compatible with triple "wasm32-unknown-unknown"

The C compiler raises this one, not Rust, so rustup target add will not clear it. Set the two compiler variables from The Other WASM Target above.

Outdated toolchain

If builds fail on a fresh install, update Rust:

rustup update

Version Pins: Which radix-clis You Actually Get

The automated scripts and the manual steps do not install the same command-line tools, and the difference is silent. Re-checked at source on 12 September 2026, five days after Scrypto v1.4.0 (Eagle Ray):

Pin the CLI explicitly if you want the modern toolchain:

cargo install --force radix-clis@1.4.0

The official documentation carries the same lag, and 1.4.0 is documented less than 1.3.1 was. The install and compatibility page still documents Rust 1.81.0 and radix-clis@1.3.0, three CLI releases back. docs.radixdlt.com/docs/scrypto-v1-4-0 answers HTTP 404, where the v1.3.1 page at least exists and reads "Content to be added." The GitHub release body is licence boilerplate with no notes, and the Radix blog names neither the release nor Eagle Ray. What 1.4.0 contains is legible only from the diff: 18 commits over 300 files, among them the Eagle Ray receiver-access check now enforcing on Mainnet.

Downloads still follow the scripts rather than the release: on 12 September 2026 crates.io recorded 15 pulls of 1.4.0, three days after publication, against 325 of 1.3.1 and 4,885 of 1.3.0.

Next Steps

HydrateLast updated 2d agov2.0.013 revisionsVerified Sep 12, 2026