Overview
Scrypto is Radix's smart contract programming language. Built on Rust, it implements asset-oriented programming where tokens and NFTs are native primitives that the developer manipulates directly — not entries in mappings.
Key Differences from Solidity
- No reentrancy — Scrypto's execution model makes reentrancy structurally impossible. Assets are in call-frame-local buckets that can't be accessed from nested calls.
- No approval pattern — Assets move directly via buckets. No
approve()+transferFrom(). - Authorization via badges — Instead of
msg.senderchecks, Scrypto uses badge-based authorization. Present a proof of holding a badge to access protected methods. - Blueprints → Components — Scrypto code is organized into blueprints (like classes) that are instantiated into components (like objects) on-ledger.
Modern Rust Support
Scrypto 1.3.1 unlocked modern Rust (1.92.0+) support with a new WASM build pipeline, ending the previous Rust 1.81.0 lockdown.

