This constant was removed in v326
This constant is no longer available in the current runtime. Existed from v123 to v326. Shown here for historical reference.
Sets developers participation threshold.
Current Value
Conversion: ÷ 10^9 (RAO → TAO)
The Big Picture
The Bittensor senate is a developers body with power over network parameters. This constant sets the minimum stake required to join. By requiring significant stake, the network ensures senate members have meaningful skin in the game and can't cheaply manipulate developers. It's plutocratic by design - larger stakeholders have more influence.
Why This Matters
If you want to participate in developers decisions, you need to know the stake threshold. Senate members vote on proposals that affect the entire network.
Example
If SenateRequiredStakePercentage is 2% and TotalStake is 10,000,000 TAO, you need at least 200,000 TAO staked to qualify for the senate. This is a dynamic threshold - as total stake grows, the absolute TAO requirement grows too.
Common Questions
- Does meeting the threshold guarantee senate membership?
- No, the senate has limited seats. You compete with other qualified candidates. Meeting the threshold makes you eligible, not elected.
- What can the senate do?
- Vote on proposals affecting network parameters, approve runtime upgrades, and participate in developers decisions that shape Bittensor's evolution.
Use Cases
- Senate elections
- Governance
Value History
| Version | Block | Change | Value |
|---|---|---|---|
| v123 | #720,235 | Added | 0.000000002 TAO |
| v124 | #720,438 | Changed | 0.000000002 TAO → 0.000000001 TAO |
| v334 | #6,811,690 | Removed | 0.000000001 TAO |
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 });
// Query InitialSenateRequiredStakePercentage constant
const value = api.consts[stringCamelCase("SubtensorModule")][stringCamelCase("InitialSenateRequiredStakePercentage")];
console.log("InitialSenateRequiredStakePercentage:", value.toHuman());
// Convert RAO to TAO if this is a balance value
const taoValue = value.toBigInt() / BigInt(1e9);
console.log("TAO:", taoValue.toString());Type Information
- Type
- u64
- Byte Size
- 8 bytes
- Encoding
- fixed
- Raw Hex
- 0x0100000000000000
Version History
Runtime Info
- Pallet
- SubtensorModule
- First Version
- v123
- Latest Version
- v326
- Removed In
- v326