Scrypto
Asset-oriented programming: resources, auth, testing, and design patterns.
The main article for this category is Scrypto.
Scrypto
1. Scrypto Fundamentals
Scrypto is built on asset-oriented programming – a paradigm where digital assets are first-class primitives managed by the Radix Engine, not arbitrary integers…
10. Badge Patterns: User, Actor and Transient Badges
Three Scrypto badge patterns: user badges for people, actor virtual badges for components, and transient badges that force a call order.
11. Deposit and Withdraw Patterns
How a Radix dApp pays users who are not in the transaction: return buckets, badge and claim, authorized depositors, and the account locker.
12. Data Types and the Runtime API
The types a Scrypto blueprint works with, Decimal arithmetic and rounding, and what a blueprint can ask the engine at run time: epoch, clock, addresses, hashes, logs.
13. Before You Release: Hardening a Blueprint
The checks the Radix docs ask of every Scrypto blueprint before mainnet: proofs, state growth, Decimal maths, auth, owners, metadata and builds.
2. Resources, Vaults, and NFTs
A resource is any digital asset on Radix – tokens, NFTs, badges, LP tokens, etc.
3. Authorization and Access Rules
In most smart contract platforms, access control is based on the caller's address – a pattern that leads to fragile permission systems and common exploits like…
4. Events, Metadata, and Royalties
Components can emit events during transaction execution. Events are encoded in SBOR and stored in the transaction receipt – useful for indexing, analytics, and…
5. Testing Scrypto Blueprints
Once your development environment is set up, the next step is understanding the Scrypto development workflow: creating packages, writing blueprints, building…
6. Vault and Resource Patterns
Radix enforces a strict invariant: every resource must exist inside a container at all times.
7. Multi-Component Architecture
Scrypto separates the concept of "smart contract" into two distinct things: blueprints (reusable templates) and components (live instances on the ledger).
8. Oracle Integration
Scrypto components execute deterministically on the Radix Engine and can only access data already present on the ledger – they cannot make HTTP calls or read…
9. Permissioned and Regulated Assets
Some assets are not meant to move freely. A tokenised bond may only be transferable between investors who have passed KYC; a credential must stay in the…
