AutoStakeAdded

Event v315 → v315, v320 → v326, v334 → v367, v372 → v377, v385 → v385, v391 → v402, v411 → current Changed in v411 #108

Emitted when stake is automatically added to a designated hotkey .

View events on chain
Useful for: stakersvalidatorsdelegatorsanalyticswallets

The Big Picture

Auto-stake is compound interest for Bittensor. When you configure auto-stake, incoming rewards don't sit as liquid TAO - they immediately stake to your designated hotkey. This event fires every time auto-stake kicks in, confirming your rewards are automatically reinvesting. It's the execution of the automation you set up with AutoStakeDestinationSet.

Why This Matters

If you've configured auto-stake, this event confirms it's actually working. Each AutoStakeAdded is a compounding event - your earnings are now earning. Compare AutoStakeAdded events with expected emission rates to verify nothing's going wrong with your setup.

Example Scenario

You're validating and earning ~2 TAO/day with auto-stake configured to your own hotkey. At each epoch end, AutoStakeAdded fires showing ~0.01 TAO auto-staked (assuming 200 epochs/day). These small automatic stakes compound throughout the day, reinvesting immediately instead of waiting for manual action.

Common Questions

Why is each AutoStakeAdded amount so small?
Auto-stake happens at each epoch, so your daily earnings are split across many small stakes. It's working correctly - check the daily total by summing all AutoStakeAdded events.
What if I don't see AutoStakeAdded events?
Either you haven't configured auto-stake (set it with AutoStakeDestinationSet) or you're not earning rewards. Check both your auto-stake configuration and your emission activity.
Can I change where auto-stake goes mid-stream?
Yes, set a new AutoStakeDestination. Future auto-stakes go to the new hotkey. Existing stakes stay where they are.

Use Cases

  • Verify automatic compounding is working as configured
  • Track compounding activity on your accounts
  • Monitor validators' auto-stake inflows
  • Build automatic reward tracking dashboards

How to Use This Event

  • Subscribe to your coldkey to see auto-staking in action
  • Track auto-stake frequency and amounts over time
  • Build compounding analytics showing APY impact

From Chain Metadata

Auto-staking hotkey received stake

Triggers

Effects

Postconditions

  • Stake added to designated hotkey
  • Coldkey's auto-stake destination received funds

Side Effects

  • Automatically increases hotkey's staked amount

Event Data

#NameTypeDescription
0
netuid
u16 NetUidnetuid: Subnet ID (u16, 0-65535)
1
destination
AccountId destination: Account address (32 bytes, SS58-encoded) (hex -> SS58)
2
hotkey
AccountId hotkey: Account address (32 bytes, SS58-encoded) (hex -> SS58)
3
owner
AccountId owner: Account address (32 bytes, SS58-encoded) (hex -> SS58)
4
incentive
u64 AlphaBalanceincentive: Alpha amount in alpha-RAO (÷10⁹ for alpha) (RAO -> TAO (/ 10^9))

Code Examples

import { createClient, Binary } from "polkadot-api";
import { getWsProvider } from "polkadot-api/ws";
import { sub } from "@polkadot-api/descriptors"; // generated by: npx papi add sub -w wss://entrypoint-finney.opentensor.ai:443

const client = createClient(getWsProvider("wss://entrypoint-finney.opentensor.ai:443"));
const api = client.getTypedApi(sub);

// Subscribe to AutoStakeAdded events
client.finalizedBlock$.subscribe(async (block) => {
  const events = await api.event.SubtensorModule.AutoStakeAdded.get(block.hash);
  for (const evt of events) {
    console.log("AutoStakeAdded:", evt.payload);
  }
});

On-Chain Activity

Emission Frequency
●●●●○○ Significant 1M–5M emissions

Major features with millions of emissions

#21 most emitted event

As of block 7,429,232

Version History

v315 block 6,414,634 5 args
v320 block 6,523,566 5 args
v334 block 6,811,690 5 args
v372 block 7,430,358 5 args
v385 block 7,782,670 5 args
v391 block 7,782,857 5 args
v411 block 8,283,784 5 args Current

Runtime Info

View Source
Pallet Index
7
Event Index
108
First Version
v315
Current Version
v411