StakeTransferred

Event Re-added v233 → v247, v252 → v265, v273 → v277, v290 → v315, v320 → v326, v334 → v367, v372 → v377, v385 → current #89

Emitted when stake is transferred from one coldkey to another.

View events on chain
Useful for: stakerswalletsexchangesanalytics

The Big Picture

Normally stake is tied to your coldkey - the private key that controls it. Stake transfer lets you change who OWNS that stake without unstaking. This preserves your position (no Alpha→TAO conversion) and is useful for wallet migrations, transfers between entities, or moving stake to a more secure coldkey.

Why This Matters

Your stake is earning rewards, and unstaking would convert your Alpha back to TAO (potentially at a loss). Stake transfer lets you change ownership while keeping the stake active - the new coldkey now owns it and receives the rewards.

Example Scenario

You want to move 500 TAO of stake from your hot wallet (coldkey A) to your hardware wallet (coldkey B). Instead of unstaking (losing to slippage) and restaking, you transfer the stake directly. StakeTransferred fires showing coldkey A → coldkey B. The stake is now owned by your hardware wallet, still earning on the same hotkey.

Common Questions

Does the recipient need to do anything?
No, stake transfers are one-way. The destination coldkey automatically receives ownership. They should verify receipt by checking their stake balance.
Can I transfer stake to any coldkey?
Yes, you can transfer to any valid Substrate account. Be very careful with the destination address - transfers cannot be reversed.
Does this affect the hotkey or validator?
No, the stake stays on the same hotkey. Only the coldkey ownership changes. The hotkey/validator sees no difference - same stake, different owner.

Use Cases

  • Transfer stake ownership to a new wallet
  • Gift or sell staked positions without unstaking
  • Consolidate stake from multiple coldkeys
  • Estate planning or organization transfers

How to Use This Event

  • Monitor your coldkeys for incoming stake transfers
  • Track when stake ownership changes hands
  • Build transfer notification systems for high-value accounts

From Chain Metadata

Stake has been transferred from one coldkey to another on the same subnet. Parameters: (origin_coldkey, destination_coldkey, hotkey, origin_netuid, destination_netuid, amount)

Triggers

Effects

Postconditions

  • Origin coldkey's stake decreased
  • Destination coldkey's stake increased
  • Ownership of stake transferred

Side Effects

  • Updates StakingHotkeys for both coldkeys
  • May affect TotalColdkeyStake for both accounts

Event Data

#NameTypeDescription
0
arg0
AccountId Event field #0 (AccountId) (hex -> SS58)
1
arg1
AccountId Event field #1 (AccountId) (hex -> SS58)
2
arg2
AccountId Event field #2 (AccountId) (hex -> SS58)
3
arg3
u16 Event field #3 (u16)
4
arg4
u16 Event field #4 (u16)
5
arg5
u64 Event field #5 (u64)

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 StakeTransferred events
api.query.system.events((events) => {
  events
    .filter(({ event }) =>
      event.section === stringCamelCase("SubtensorModule") &&
      event.method === "StakeTransferred"
    )
    .forEach(({ event }) => {
      console.log("StakeTransferred:", event.data.toHuman());
    });
});

On-Chain Activity

Emission Frequency
●●●○○○ Active 100K–1M emissions

Regular feature-level activity

#35 most emitted event

As of block 7,429,232

Version History

v233 block 4,920,350 6 args
v252 block 5,163,656 6 args
v273 block 5,659,032 6 args
v290 block 5,947,548 6 args
v320 block 6,523,566 6 args
v334 block 6,811,690 6 args
v372 block 7,430,358 6 args
v385 block 7,782,670 6 args Current

Runtime Info

View Source
Pallet Index
7
Event Index
89
First Version
v233
Current Version
v393