Architecture

Radix Engine is organized into 5 layers. Each layer has specific responsibilities and provides an API to the layer above. Middle layers also provide a Callback API which the layer above must implement.

Layer NameResponsibilities
ApplicationDefines Blueprint Application Logic
VMExecutes Application Code
SystemDefines Actor abstraction (Memory Protection)
Defines Package, Blueprint, Object abstractions
Defines System Standards such as Authorization and Versioning
KernelDefines Node, Partition, Substate abstractions
Maintains Call Frame Stack
Maintains Ownership/Reference invariants
DatabaseDefines PartitionKey, SortKey abstractions