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

Extrinsic

In Substrate-based blockchains, an extrinsic is a piece of information that originates from outside the chain, such as a user transaction or a system-generated inherent.
Chainscore © 2026
definition
BLOCKCHAIN TERM

What is an Extrinsic?

An extrinsic is a transaction or message that originates from outside a blockchain's state and is included in a block.

In blockchain systems, particularly those built with Substrate like Polkadot and Kusama, an extrinsic is a fundamental unit of operation. It represents any piece of information from the outside world—such as a user's signed transaction, a validator's vote, or an off-chain worker's report—that is submitted to the network for inclusion in a block. Extrinsics are the primary mechanism for initiating state changes, making them analogous to transactions in other blockchains but with a broader scope that includes inherents (unsigned, time-based data) and operational calls from the runtime itself.

The lifecycle of an extrinsic involves several stages. First, it is created and signed by an external account (for signed extrinsics) or generated by the block author (for unsigned extrinsics). It is then broadcast to the network, where it enters the transaction pool. Validators or block producers select extrinsics from this pool, verify their signatures and validity, and package them into a candidate block. Once the block is finalized, the extrinsic's contained instructions are executed by the blockchain's runtime, updating the global state accordingly. This process is secured by the network's consensus mechanism.

Extrinsics are categorized into three main types: signed transactions, unsigned transactions, and inherents. A signed extrinsic includes a signature from a paying account, covering the transaction fee and providing Sybil resistance. An unsigned extrinsic lacks a signature and is used for operations where the sender cannot or should not pay fees, such as data submissions from off-chain workers, requiring careful validation logic within the runtime. Inherents are special unsigned extrinsics added by the block author that contain authoritative data, like timestamps, which are agreed upon by validators rather than proven by a signature.

For developers, understanding extrinsics is crucial for building on Substrate-based chains. They construct extrinsics by making runtime API calls, which are encoded and signed before submission. The transaction payment logic determines the fee, which is deducted from the sender's account balance. Each extrinsic carries a weight parameter, which estimates the computational resources required for its execution; this helps the network manage block capacity and calculate accurate fees, preventing resource exhaustion attacks.

The concept of extrinsics is central to the scalability and interoperability goals of modern blockchains. By standardizing how external data is packaged and validated, frameworks like Substrate enable complex cross-chain messaging, as seen in Polkadot's Cross-Consensus Message Format (XCM). Furthermore, the separation of extrinsic dispatch from state transition logic allows for more flexible and upgradeable blockchain runtimes, forming the backbone of a modular, multi-chain ecosystem.

how-it-works
SUBSTRATE BLOCKCHAIN MECHANISM

How Extrinsics Work

An extrinsic is a piece of data that originates from outside the blockchain's state, submitted by external actors to request state changes.

In the Substrate framework, an extrinsic is the fundamental unit of user interaction, representing any transaction or message that originates from outside the blockchain itself. It is the primary mechanism for users, validators, and other off-chain entities to propose changes to the state of the chain. Every action, from a simple token transfer to a complex smart contract call or a governance vote, is packaged and submitted as an extrinsic. The term distinguishes these external inputs from intrinsics, which are inherent, system-generated data blocks like timestamps.

The lifecycle of an extrinsic begins with its construction and signing by a user's wallet. It is then broadcast to the network's peer-to-peer layer. Upon reaching a block author (e.g., a collator in a parachain or a validator), it undergoes a series of validity checks. These include verifying the cryptographic signature, ensuring the sender has sufficient funds for the transaction fee, and confirming the nonce is correct to prevent replay attacks. Only valid extrinsics are included in a candidate block for finalization.

Extrinsics are categorized into three types: signed, unsigned, and inherent. A signed extrinsic includes a signature from a fee-paying account and is the most common type for user transactions. An unsigned extrinsic lacks a signature and is used for operations where the submitter cannot be identified or does not pay fees, such as certain off-chain worker submissions. An inherent extrinsic is a special unsigned type containing data agreed upon by validators, like a timestamp, and is inserted into a block by the block author without a transaction fee.

Once included in a proposed block, extrinsics are executed by the blockchain's runtime. The runtime logic decodes each extrinsic and dispatches it to the appropriate pallet—a modular component of the runtime—which contains the business logic for that operation. Successful execution results in state transitions, such as updating account balances or modifying storage items. Failed executions revert changes and may still incur a partial fee. The results of these executions are captured in events and transaction receipts for external observation.

Understanding extrinsics is crucial for developers building on Substrate-based chains like Polkadot or Kusama. They form the API layer between the external world and the blockchain's state machine. Key related concepts include the Transaction Pool, where pending extrinsics await inclusion, the Weight and Fee system that prioritizes execution, and the Runtime API, which defines how extrinsics are encoded and decoded for the specific chain's logic.

key-features
BLOCKCHAIN FUNDAMENTALS

Key Features of Extrinsics

Extrinsics are externally-originated transactions that trigger state changes on a blockchain. They are the primary mechanism for user interaction with the network.

01

Definition & Origin

An extrinsic is a piece of information that originates from outside the blockchain and is included in a block. It represents a request for state change, such as a transfer of funds, a smart contract call, or a governance vote. Extrinsics are submitted by external actors like users or off-chain workers, in contrast to intrinsics, which are inherent, system-generated data within a block.

02

Core Components

A typical extrinsic in a Substrate-based chain contains several key parts:

  • Signature: Proves the origin and authenticity of the sender, paying the transaction fee.
  • Call: The specific function to be dispatched (e.g., balances.transfer).
  • Call Data: The arguments for the function call (e.g., recipient address and amount).
  • Signed Extensions: Additional data for the runtime, such as a nonce for replay protection, a tip for priority, and the transaction's era for longevity.
03

Lifecycle & Validation

An extrinsic follows a strict lifecycle:

  1. Creation & Signing: A user constructs and signs the extrinsic with their private key.
  2. Submission: It is broadcast to the network via a node's RPC endpoint.
  3. Pool & Propagation: It enters the transaction pool (mempool) and is gossiped to other nodes.
  4. Inclusion: A block author (e.g., validator) selects it for inclusion in a new block.
  5. Execution & Finalization: The runtime executes the call, and upon block finality, the state change is permanent.
04

Types: Signed vs. Unsigned

Extrinsics are categorized by their origin:

  • Signed Extrinsics: Have a verifiable signature from a fee-paying account. They are used for standard user actions like transfers.
  • Unsigned Extrinsics: Lack a signature and are not subject to regular fee payment. They are used for specific, validated operations like off-chain worker submissions or pre-signed transactions from a trusted source, requiring custom validation logic in the runtime.
05

Fees & Priority

Transaction fees for signed extrinsics are calculated by the runtime's fee model, typically: Fee = Base Fee + (Byte Fee * Length) + (Weight Fee * Complexity). A tip can be added to increase transaction priority in the pool. The weight system measures the computational resources a call consumes, ensuring fees reflect the cost to the network. Invalid or overly resource-intensive extrinsics are rejected.

06

Relation to Runtime & Pallets

Extrinsics are the interface to a blockchain's runtime logic. The Call enum in the runtime aggregates all possible transaction types from individual pallets (modules). When an extrinsic is processed, the runtime decodes the call and dispatches it to the corresponding pallet function. This modular design allows developers to define custom extrinsic types for their application-specific logic.

types-of-extrinsics
BLOCKCHAIN GLOSSARY

Types of Extrinsics

Extrinsics are transactions or messages originating from outside a blockchain's state. This section categorizes the primary types of calls that can be submitted to a Substrate-based chain.

01

Balance Transfers

The most common extrinsic type, transferring native tokens from one account to another. This updates the Balances pallet's storage for both the sender and recipient.

  • Core Function: balances.transfer_keep_alive or balances.transfer.
  • Key Property: Requires the sender to have a sufficient existential deposit and pay a transaction fee.
  • Example: Alice sends 10 DOT to Bob's account.
02

Staking Operations

Extrinsics that interact with the Nominated Proof-of-Stake (NPoS) consensus mechanism. These manage the bond between nominators and validators.

  • Common Calls: staking.bond, staking.nominate, staking.chill.
  • Purpose: Secure the network by allocating stake, electing validators, and claiming rewards.
  • State Change: Modifies storage in the Staking and Session pallets.
03

Governance Proposals

Extrinsics used to participate in on-chain governance, such as submitting referenda, voting, or enacting treasury spends.

  • Mechanism: Interacts with the Democracy, Council, and Treasury pallets.
  • Process: A proposal is submitted, enters a voting period, and, if passed, is queued for enactment.
  • Example: treasury.propose_spend to request funds from the chain's treasury.
04

Smart Contract Interactions

Extrinsics that deploy or call functions on a smart contract residing on a parachain like Astar or a smart contract chain.

  • Deployment: contracts.instantiate with the contract's WASM code.
  • Execution: contracts.call to invoke a specific function on a deployed contract.
  • Fee Model: Uses a weight and gas system to meter and charge for computation.
05

Identity Management

Extrinsics that allow users to attach on-chain information to their account, such as a display name, social handles, or legal credentials.

  • Pallet: Primarily the Identity pallet.
  • Functions: identity.set_identity, identity.add_registrar.
  • Use Case: Builds reputation and allows for human-readable addresses beyond the public key.
06

Multi-signature Dispatches

An extrinsic that is the result of a multi-signature approval process. It is dispatched from a multi-sig account after the required threshold of signatures is collected.

  • Creation: First, a multisig.approve_as_multi call is made to collect signatures.
  • Execution: Finally, multisig.as_multi is called to pay the fee and execute the wrapped call.
  • Security: Enforces decentralized control over high-value accounts or protocol treasuries.
etymology
TERM ORIGIN

Etymology and Origin

The term **extrinsic** has a rich history in philosophy and logic, which directly informs its precise technical meaning in blockchain systems like Polkadot and Substrate.

In blockchain terminology, an extrinsic is a transaction or message that originates from outside the blockchain's core state transition function. The term is borrowed directly from philosophy and logic, where an extrinsic property is a characteristic that depends on an entity's relationship with external factors, as opposed to an intrinsic property which is inherent and independent. This conceptual distinction is perfectly mapped to blockchain architecture: an extrinsic is an external input that triggers a state change, while the resulting state is an intrinsic property of the chain itself.

The adoption of this specific term is most strongly associated with the Substrate blockchain framework and the Polkadot network. In Substrate's architecture, the runtime logic (the state transition function) is separated from the outer node client. Any call that is submitted to the network—whether a signed transaction, an unsigned transaction with validated proof, or an inherent data piece from a validator—is bundled and called an extrinsic. This formalizes the boundary between the external world of user interaction and the internal, deterministic world of chain state.

Using the term extrinsic provides critical precision. It is a broader category than a simple "transaction." While all user-signed balance transfers are extrinsics, not all extrinsics are simple payments. The category also includes inherents (unsigned data agreed upon by validators, like timestamps), unsigned transactions with custom validation, and governance proposals. This lexical choice avoids the ambiguity of "transaction" and clearly denotes any piece of data that is extrinsic to and injected into the blockchain's execution environment.

ecosystem-usage
EXTRINSIC

Ecosystem Usage

In blockchain networks, an extrinsic is a transaction or message that originates from outside the chain itself, submitted by an external user or application to modify the state of the ledger.

01

Core Definition & Analogy

An extrinsic is a piece of information that comes from the outside world and is included in a block. It's the primary mechanism for users to interact with the chain.

  • Analogy: Think of a blockchain as a shared database. An extrinsic is a user-submitted form (like a deposit slip or a transfer request) that the network's validators must process and record.
02

Types of Extrinsics

Extrinsics are categorized based on their origin and purpose:

  • Inherents: Special extrinsics inserted by a block author (e.g., a validator) that contain information verifiable only at that moment, like a timestamp. They are not signed by users.
  • Transactions: The most common type. Signed extrinsics that represent actions like token transfers or smart contract calls. They require a signature and pay a fee.
  • Unsigned Transactions: Rare, for specific use cases where a signature is not possible or practical, requiring custom validation logic.
03

Lifecycle & Validation

An extrinsic undergoes a strict validation process before state change:

  1. Submission: A user constructs and signs an extrinsic, then broadcasts it to the network.
  2. Pooling: The extrinsic enters the transaction pool (mempool), waiting to be selected by a block producer.
  3. Inclusion: A validator includes it in a proposed block, executing its logic.
  4. Execution & Finality: The runtime executes the extrinsic's logic, and upon block finalization, the resulting state change becomes permanent.
04

Key Components (Substrate/Polkadot)

In Substrate-based chains (like Polkadot), an extrinsic has a standardized structure:

  • Signature: (Optional) The cryptographic proof of the sender's identity.
  • Call: The actual instruction, specifying the pallet (module) and function to call (e.g., balances.transfer).
  • Extra Data: Contains the nonce (prevents replay), the tip (priority fee), and lifetime (transaction longevity).
05

Contrast with Intrinsics

It's critical to distinguish extrinsics from intrinsics:

  • Extrinsic: External input. A request for state change (a transaction).
  • Intrinsic: Internal state. The actual data stored on-chain (a block, an account balance, a smart contract's storage).

Extrinsics are the cause; the resulting changes to intrinsics are the effect.

BLOCKCHAIN DATA TYPES

Extrinsic vs. Intrinsic Data

A comparison of the two fundamental data types that define a transaction's origin and validation context.

FeatureExtrinsic DataIntrinsic Data

Definition

Data provided by the transaction author (user).

Data derived from the blockchain's state and consensus.

Origin

External to the chain (off-chain).

Internal to the chain (on-chain).

Examples

Sender signature, destination address, call data, transaction fee.

Block number, block hash, validator set, previous state root.

Mutability

Immutable once signed and submitted.

Changes deterministically with each new block.

Validation Dependency

Validated against intrinsic data (e.g., nonce, account balance).

Provides the context for validating extrinsic data.

Primary Use

To request state changes (transfers, smart contract calls).

To achieve consensus and ensure deterministic execution.

Storage Location

In the transaction pool and within blocks.

In the blockchain's header and state database.

Analogy

The content and sender of a letter.

The postmark, postal codes, and delivery route of a letter.

EXTRINSIC

Technical Details

In blockchain networks, particularly those built with Substrate, an extrinsic is a piece of information that originates from outside the chain and is included in a block. This section details the types, structure, and lifecycle of extrinsics.

An extrinsic is a transaction or piece of information that originates from outside a blockchain's state and is included in a block. In Substrate-based chains like Polkadot and Kusama, it is the fundamental unit of user interaction, representing any call that modifies the state. Extrinsics are bundled into blocks by validators or collators and are subject to the network's consensus and validation rules. They are the primary mechanism for users and smart contracts to submit data, transfer value, or execute logic on-chain.

EXTRINSIC

Frequently Asked Questions

Common questions about extrinsics, the externally-originated transactions and calls that drive state changes on a blockchain.

An extrinsic is a piece of data that originates from outside a blockchain's state, such as a signed transaction or an unsigned call from a block author, which is submitted to the network to trigger a state change. In the Substrate framework, which underpins Polkadot and Kusama, extrinsics are the fundamental unit of user interaction, representing requests to execute logic on-chain. They are bundled into blocks by validators or collators. There are three primary types: signed transactions (with a fee-paying signer), unsigned transactions (for validators, often with inherent data), and inherents (special unsigned data agreed upon by validators, like timestamps).

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
What is an Extrinsic? | Blockchain Glossary | ChainScore Glossary