ExtrinsicSuccess
Event Re-added v101 → v277, v290 → current #0Emitted when an extrinsic completes successfully.
View events on chainThe Big Picture
Every transaction (extrinsic) on the chain ends with either ExtrinsicSuccess or ExtrinsicFailed. This is your confirmation that everything worked - state was updated, operation completed, and your transaction is finalized. It's the 'receipt' for any blockchain operation.
Why This Matters
When you submit a transaction, you need to know it worked. ExtrinsicSuccess is the definitive confirmation. Without it, you can't be sure your stake was added, your weights were set, or your transfer completed.
Example Scenario
You call add_stake to stake 100 TAO. The transaction is included in a block. You see StakeAdded (with your stake details) followed by ExtrinsicSuccess (confirming the overall transaction succeeded). Now you know for certain your stake is active.
Common Questions
- What if I see the domain event but not ExtrinsicSuccess?
- Always wait for ExtrinsicSuccess. In rare cases, events can be emitted but the transaction still fails. ExtrinsicSuccess is the definitive confirmation.
- Does ExtrinsicSuccess mean my transaction was free?
- No, fees are always charged (shown in fee field). Success just means the operation completed - you still paid for the computation.
Use Cases
- Confirm your transaction completed successfully
- Build transaction monitoring systems
- Track network transaction success rates
- Trigger downstream actions on transaction success
How to Use This Event
- → Listen for this after submitting any transaction
- → Pair with specific domain events (e.g., StakeAdded + ExtrinsicSuccess)
- → Monitor network-wide success rates
From Chain Metadata
An extrinsic completed successfully.
Triggers
Preconditions
- Extrinsic dispatched without errors
- All state changes applied successfully
Effects
Postconditions
- All state changes from extrinsic are committed
Side Effects
- Other events from the extrinsic are also emitted
- Transaction fees deducted from sender
Event Data
| # | Name | Type | Description |
|---|---|---|---|
| 0 | dispatch_info | DispatchEventInfo | Information about the extrinsic dispatch (weight, class, pays_fee) |
Code Examples
import { ApiPromise, WsProvider } from "@polkadot/api";
import { stringCamelCase } from "@polkadot/util";
const provider = new WsProvider("wss://entrypoint-finney.opentensor.ai:443");
const api = await ApiPromise.create({ provider });
// Subscribe to ExtrinsicSuccess events
api.query.system.events((events) => {
events
.filter(({ event }) =>
event.section === stringCamelCase("System") &&
event.method === "ExtrinsicSuccess"
)
.forEach(({ event }) => {
console.log("ExtrinsicSuccess:", event.data.toHuman());
});
});On-Chain Activity
Protocol plumbing — fires on nearly every extrinsic
#3 most emitted event
As of block 7,429,232
Version History
Runtime Info
- Pallet Index
- 0
- Event Index
- 0
- First Version
- v101
- Current Version
- v393