FRAME Suite
A composable, type-driven foundation for building modular runtime systems on Substrate.
FRAME Suite is a collection of reusable, fully generic abstractions for expressing common runtime patterns.
It is built around a simple idea:
Build runtimes as compositions of semantics, not implementations.
Instead of coupling storage, logic, and structure, FRAME Suite separates them into traits, types, and pluggable execution, allowing systems to remain flexible, extensible, and reusable across pallets.
Core Ideas
- Generic by design: all components are abstract and type-driven
- Plugin-based execution: is defined via pluggable models
- Virtual structures: data is described by schema, not fixed layout
- Routine-driven workflows: structured offchain execution with best-effort guarantees
These principles enable building systems that evolve without redesign.
Usage
FRAME Suite is not a pallet, it is meant to be used inside your pallets.
Add dependency:
[]
= { = "../frame-suite", = false }
Import modules:
use ;
Implement traits:
;
Use in dispatchables:
Composition
FRAME Suite modules are designed to interoperate:
assets+commitment: staking, escrow, bonded systemsxp+roles: reputation-driven roles and governanceblockchain+elections: validator lifecycle and rewardsaccumulators+xp: progression and leveling systemsvirtuals+plugins: logic and structural extensibilityforks+routines: best-effork fork-aware offchain workers
Complex systems emerge by composing small, orthogonal primitives.
Notes
- No storage is imposed, defined by the implementing pallet
- No genesis configuration, handled by the runtime
- No extrinsics, exposed through your pallet
License
MPL-2.0 (Mozilla Public License)
An Open-Source initiative by Auguth Labs (OPC) Pvt Ltd, India