Introduction
The Substate Model is Radix's state storage architecture where all ledger state is decomposed into discrete, typed records called substates. Each substate is subject to specific rules enforced by the Radix Engine's finite state machine constraint model. This architecture combines properties of both the UTXO and account models while enabling parallelised consensus.
Structure
The Radix Engine state model is structured as a forest of state sub-trees. Each sub-tree consists of entities (identified by unique addresses) that have zero or more substates at keyed positions. Substates are typed — for example, a token balance substate tracks ownership and enforces conservation (if tokens leave Alice, they must arrive at Bob).
Entities can own other entities, forming ownership trees. A Component entity might own multiple Vault entities, each containing resource substates. This hierarchical structure maps naturally to shards — each Component's state can reside on a dedicated shard with full throughput.
Comparison to Other Models
vs. UTXO (Bitcoin, Cardano)
Like Bitcoin's UTXO model, Radix transactions specify substates as inputs. However, unlike pure UTXO where transactions must reference specific UTXOs (causing contention when multiple transactions target the same UTXO), Radix transactions express intent rather than specific substates. The Radix Engine resolves which substates satisfy the intent at execution time.
This is significant: on Cardano, the first DEX (SundaeSwap) experienced severe contention because multiple users tried to consume the same UTXOs. Radix's intent-based approach avoids this entirely.
vs. Account Model (Ethereum)
Unlike Ethereum where all token state lives inside a single contract's storage, Radix distributes state across substates assignable to different shards. This eliminates single-contract bottlenecks — on Ethereum, every Uniswap trade goes through one contract's state, creating a serialisation point that limits throughput.
External Links
- How Radix Engine is Designed to Scale dApps — Radix Blog
- What is Radix Engine? — Radix Knowledge Base
Connect your wallet to join the discussion.
