Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Glossary

Substrate FRAME

Substrate FRAME is a Rust-based framework for building customizable, modular blockchains by composing specialized runtime modules called pallets.
Chainscore © 2026
definition
BLOCKCHAIN FRAMEWORK

What is Substrate FRAME?

Substrate FRAME is the modular framework for building custom blockchains, providing the core libraries and conventions for runtime development.

Substrate FRAME (Framework for Runtime Aggregation of Modularized Entities) is the primary development framework within the Substrate blockchain-building toolkit. It provides a collection of pallets—modular, reusable components—and a standardized structure, the #[frame_support] and #[frame_system] macros, for assembling a blockchain's runtime logic. This modular approach allows developers to select pre-built pallets for common functionalities like consensus, staking, and governance, and to create custom ones, drastically accelerating development.

At its core, FRAME enforces a declarative programming model using Rust macros. Developers define their blockchain's state transitions by declaring storage items, events, errors, and callable functions (extrinsics) within a pallet. The framework then generates much of the boilerplate code, ensuring that all components integrate correctly with Substrate's underlying engine. This includes critical aspects like weight calculation for transaction fees and proper integration with the off-chain worker system.

The architecture is built around key abstractions: the Runtime, which is the state transition function compiled to WebAssembly; Pallets as independent modules; and the Executive pallet, which orchestrates execution. This design enables forkless runtime upgrades, as the entire logic of the chain is contained within a single, upgradeable Wasm blob. Prominent blockchains like Polkadot and Kusama are built using FRAME, demonstrating its capability to support complex, production-grade networks.

For developers, using FRAME means adhering to its conventions, such as implementing the Config trait for each pallet, which defines its configurable types and parameters. This standardization is what allows pallets to be truly interoperable and composable. The extensive Substrate FRAME Pallet Library includes modules for Balances, Staking (pallet-staking), Collective governance, and Identity, forming a robust foundation for most decentralized applications.

The evolution of FRAME is central to Substrate's ethos. FRAME v2, also known as the Pallet Macro, introduced a more ergonomic and secure syntax. Looking ahead, initiatives like FRAME into Mainnet aim to refine the framework for even greater performance and developer experience, ensuring it remains the standard for building next-generation, application-specific blockchains.

etymology
SUBSTRATE FRAME

Etymology and Origin

An exploration of the naming and conceptual origins of the Substrate FRAME, the modular framework for building blockchains.

The term FRAME is a recursive acronym for Framework for Runtime Aggregation of Modularized Entities. This name precisely reflects its core architectural philosophy: it is a framework that enables the aggregation (or composition) of individual, self-contained modules (called pallets) into a complete blockchain runtime. The term runtime in this context refers to the state transition logic of the blockchain, which is the set of rules that define how the chain's state changes with each new block. Thus, FRAME is the structural system that allows these modular rules to be assembled.

The concept originated within the Parity Technologies and Polkadot ecosystem as a solution to blockchain development complexity. Prior to such frameworks, building a blockchain required implementing every component—consensus, networking, and state transitions—from scratch. FRAME's modular design was inspired by the need for forkless runtime upgrades and high customizability. By decomposing blockchain logic into discrete, interchangeable pallets (e.g., for balances, staking, or governance), developers could specialize, reuse, and upgrade specific parts of the chain's logic without a hard fork, a principle central to Substrate's design.

The Substrate in "Substrate FRAME" refers to the broader blockchain development kit of which FRAME is a pivotal component. Substrate provides the underlying "substrate" or foundation—the networking, consensus, and finality layers—upon which the FRAME-built runtime operates. This separation of concerns is key: Substrate handles the "blockchain engine," while FRAME defines the "rules of the game" for a specific chain. The terminology reinforces a layered, composable approach to blockchain creation, distinguishing the generic infrastructure from the application-specific business logic assembled within the FRAME.

key-features
SUBSTRATE FRAME

Key Features

FRAME (Framework for Runtime Aggregation of Modularized Entities) is the core SDK for building Substrate-based blockchains. It provides a collection of modular pallets and essential libraries that define a blockchain's state transition logic.

03

Declarative Programming Model

FRAME uses a declarative model where developers define what the runtime does, not how the blockchain executes it. Key constructs include:

  • Storage: Declare on-chain data structures.
  • Events: Emit signals for off-chain clients.
  • Errors: Define domain-specific error conditions.
  • Calls: Define extrinsics (user transactions). The framework handles execution, ensuring safety and consistency.
04

Native & Wasm Runtimes

Every FRAME runtime compiles to two versions: a native binary for fast execution during block authoring and a Wasm blob stored on-chain. This dual runtime architecture is critical for forkless upgrades. Nodes execute the on-chain Wasm version, allowing the network logic to be updated seamlessly via a governance transaction without requiring a hard fork.

06

Forkless Runtime Upgrades

A defining feature enabled by FRAME's architecture. The runtime's logic (the Wasm blob) is stored on-chain as part of the state. Upgrading the chain involves submitting a transaction that replaces this blob. All nodes automatically switch to the new logic at a defined block height, enabling protocol evolution without splitting the network.

how-it-works
FRAMEWORK ARCHITECTURE

How Substrate FRAME Works

Substrate FRAME (Framework for Runtime Aggregation of Modularized Entities) is the core development framework for building application-specific blockchains, providing a modular library of composable pallets and a structured environment for runtime logic.

Substrate FRAME is a Rust-based framework that enables developers to construct a blockchain's runtime—the state transition function—by assembling modular components called pallets. Each pallet encapsulates a specific domain of functionality, such as a consensus mechanism, token balances, or governance voting. The framework provides essential services like storage abstractions, event logging, and error handling, allowing developers to focus on business logic. A FRAME-based runtime is compiled to WebAssembly (Wasm), enabling forkless upgrades and execution within the Substrate client.

The architecture is built around several core concepts. The #[pallet] macro in Rust defines a pallet, declaring its storage items, events, errors, and callable functions (extrinsics). Pallets communicate through a shared Config trait, which defines their dependencies and customizable types. The FRAME System pallet (frame_system) provides the foundational layer, managing accounts, block numbers, and events. During compilation, the construct_runtime! macro aggregates all included pallets into a single, cohesive runtime module, ensuring type safety and generating necessary metadata.

Development typically involves selecting existing off-the-shelf pallets from the Substrate repository (e.g., pallet_balances, pallet_timestamp) and writing custom pallets for unique logic. A custom pallet defines its storage (using #[pallet::storage]), dispatchable functions (using #[pallet::call]), and configuration requirements. The runtime's genesis configuration (chain_spec) initializes the storage state for each pallet at blockchain launch. This modular approach allows for rapid prototyping and secure composition, as each pallet is isolated and interacts through well-defined interfaces.

FRAME's execution model processes incoming transactions (extrinsics) by dispatching them to the correct pallet and function. It manages state changes atomically, ensuring consistency. The framework also natively supports forkless runtime upgrades via the pallet_sudo or governance pallets; a new runtime is authorized on-chain and automatically replaces the old one on a finalised block. Furthermore, FRAME generates comprehensive metadata that enables tools like the Polkadot-JS API to interact with the chain dynamically, without needing pre-defined schemas.

core-components
SUBSTRATE FRAME

Core Components of FRAME

FRAME (Framework for Runtime Aggregation of Modularized Entities) is the core development kit for building Substrate-based blockchains. It provides a collection of modular libraries called pallets that can be composed into a custom runtime.

02

Runtime

The runtime is the state transition function of the blockchain, compiled to WebAssembly (WASM). It is the aggregation of all integrated pallets and defines the entire business logic, including:

  • How the state changes.
  • What transactions are valid.
  • How blocks are executed. It is upgraded via on-chain governance without a hard fork.
03

System Pallet

The System Pallet provides the lowest-level APIs and storage items required for any FRAME-based chain. It manages:

  • Account information and indices.
  • Extrinsic (transaction) data and weights.
  • Block number and digest.
  • Events and deposits. It is the foundational pallet upon which all others depend.
04

Support Traits & Macros

FRAME uses a system of Rust traits and procedural macros to standardize pallet development and integration.

  • Config Trait: Defines the external types and parameters a pallet needs.
  • #[pallet] Macro: Generates the necessary boilerplate code for a pallet.
  • construct_runtime! Macro: Aggregates all pallets into the final runtime.
05

Executive Module

The Executive Module is the orchestrator that ties the runtime to the outer node client. It is responsible for:

  • Executing extrinsics in the correct order.
  • Initializing a block.
  • Applying finality.
  • Dispatching calls to the correct pallet functions. It acts as the bridge between the consensus layer and the business logic.
06

Metadata & APIs

FRAME automatically generates a rich, self-describing metadata interface for the runtime. This enables:

  • Dynamic discovery of pallets, calls, storage, and events.
  • Automatic generation of client-side libraries (like PolkadotJS API).
  • Runtime APIs for the node to query the runtime state (e.g., for generating proof-of-validity).
examples
FRAME IN ACTION

Examples and Use Cases

FRAME is the modular framework for building Substrate-based blockchains. These examples showcase how its core components are used to create custom, production-ready networks.

ARCHITECTURE COMPARISON

FRAME vs. Monolithic Frameworks

A technical comparison of the modular FRAME architecture used in Substrate versus traditional monolithic blockchain frameworks.

FeatureSubstrate FRAMEMonolithic Framework (e.g., Geth, Solana Labs Client)

Core Architecture

Modular, library-based

Monolithic, single executable

Runtime Upgradability

Consensus Algorithm

Swappable (e.g., BABE/GRANDPA, Aura)

Hardcoded

Networking Stack

Pluggable (libp2p)

Integrated, fixed

Governance Mechanism

On-chain, built-in (e.g., Democracy, Council)

Off-chain, client upgrades

State Transition Logic

Compiled to WebAssembly (Wasm)

Native machine code

Forkless Runtime Upgrades

Development Abstraction

Pallets encapsulating logic

Direct modification of core protocol

ecosystem-usage
SUBSTRATE FRAME

Ecosystem and Adoption

Substrate FRAME (Framework for Runtime Aggregation of Modularized Entities) is the core SDK for building blockchains in the Polkadot ecosystem. It provides a modular library of pallets that developers compose to create custom, application-specific blockchains called parachains.

04

Ecosystem & Tooling

A mature tooling ecosystem supports FRAME development:

  • Polkadot-JS: The primary front-end API and wallet.
  • Substrate Node Template: A starter kit for new chains.
  • FRAME Benchmarks: For calculating accurate transaction weights and fees.
  • Open Runtime Module Library (ORML): A collection of community-built pallets.
05

Notable FRAME-Based Chains

Hundreds of projects leverage FRAME. Prominent examples include:

  • Polkadot & Kusama: The Relay Chains themselves are built with Substrate/FRAME.
  • Acala: A DeFi-focused parachain.
  • Moonbeam: An Ethereum-compatible smart contract parachain.
  • Composable Finance: A cross-chain DeFi infrastructure layer.
06

Forkless Upgrades

A key innovation enabled by FRAME's architecture is forkless runtime upgrades. Because the runtime logic is stored on-chain as Wasm, network validators can switch to a new version by consensus without requiring a hard fork. Governance proposals execute upgrades directly, ensuring smooth evolution of the chain.

SUBSTRATE FRAME

Technical Deep Dive

A comprehensive FAQ on Substrate's Framework for Runtime Aggregation of Modularized Entities (FRAME), the core library for building custom blockchains.

Substrate FRAME (Framework for Runtime Aggregation of Modularized Entities) is a Rust-based development framework that provides the core libraries and conventions for building a blockchain's runtime—the state transition logic—within the Substrate ecosystem. It works by offering a collection of pallets (modular, reusable components for features like staking, governance, or assets) and a runtime executive that orchestrates them. Developers compose their custom chain logic by selecting and configuring these pallets, and FRAME handles the underlying complexities of blockchain execution, storage, and consensus integration.

Key components include:

  • Pallets: Encapsulate specific domain logic (e.g., pallet_balances).
  • Runtime: The aggregated logic of all included pallets, compiled to WebAssembly.
  • Macros: Like #[pallet], which generate boilerplate code for storage, events, and dispatchable functions.
  • Executive: Dispatches incoming extrinsics (transactions) to the correct pallet logic.
SUBSTRATE FRAME

Common Misconceptions

Clarifying frequent misunderstandings about Substrate's FRAME architecture, a core framework for building blockchains.

No, FRAME is not a blockchain; it is a modular framework for building blockchains. FRAME provides a collection of pallets (runtime modules), development tools, and libraries that developers use to assemble a custom blockchain's runtime. The resulting blockchain is a standalone network, while FRAME is the development kit used to construct it, similar to how a car factory (FRAME) is not the same as the car (the blockchain) it produces.

SUBSTRATE FRAME

Frequently Asked Questions

Essential questions and answers about Substrate FRAME, the modular framework for building blockchains.

Substrate FRAME (Framework for Runtime Aggregation of Modularized Entities) is a modular, opinionated framework for building blockchain runtimes. It works by providing a set of pallets (pre-built modules for consensus, staking, governance, etc.) and a macro-based system (#[pallet]) that developers compose to define their blockchain's state transition logic. The framework handles the underlying complexities of WebAssembly compilation, storage abstraction, and extrinsic (transaction) dispatch, allowing developers to focus on their chain's unique business logic. A runtime built with FRAME is compiled to a Wasm blob that can be upgraded on-chain without a hard fork.

ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected Directly to Engineering Team