Miden Smart Contracts
This section covers the developer-facing paths for building smart contracts on Miden: an authoring guide for Miden Assembly (MASM) (the supported path for mainnet production today) and Rust (in active development as the long-term direction), plus the Miden Standards library of reusable components callable from either.
Miden mainnet supports smart contracts authored in Miden Assembly (MASM) today. The Rust SDK is in active development and will become the default authoring path once it ships v1. For production deployments now, see MASM Smart Contracts.
If you're new to Miden, the hands-on Miden Bank Tutorial walks through the full lifecycle using the Rust SDK; the concepts (accounts, notes, transactions, components) translate directly to MASM.
Sections
Overview
How accounts, notes, transactions, and components fit together. Concepts apply regardless of authoring language.
MASM
Author production-ready smart contracts directly in Miden Assembly. The path Miden mainnet supports today.
Rust
Build accounts, notes, transactions, and reusable logic with the Rust-first workflow. Currently in active development and not yet production-ready for mainnet.
Miden Standards
Standard components, note scripts, faucet policies, and MASM modules. Callable from MASM or Rust.
Inside the Rust SDK
Accounts
Components, storage, custom types, operations, cryptography, and authentication.
Notes
Programmable UTXOs for asset transfers.
Transactions
Transaction context, scripts, and the advice provider.
Cross-component calls
Calling methods across account components and from note scripts.
Types
Core types: Felt, Word, AccountId, NoteId, and more.
Patterns
Access control, rate limiting, spending limits, and anti-patterns.