Stake-based admins (experimental)
Stake-based admins
Experimental
This feature is experimental. Its behaviour and the numbers below can change. It is opt-in per chat and off by default.
Cosmobot can automatically grant and remove Telegram admin status based on how much ATOM a user has staked plus their community reputation. The idea is that admin power is earned through real, sustained stake and community trust, and that dangerous powers (ban and mute) cannot be bought with stake alone.
You can explore how the gates, ranking weights, cap and idle removal decide who becomes an admin in the interactive admin selection explorer.
How to qualify
Link your Cosmos wallet in Cosmobot (the same wallet linking used for elite giveaways) and stake ATOM. Eligibility uses a rolling 7-day window and requires stake on at least 4 of the last 7 days plus a 2500 ATOM average (the current setting, configurable per chat), so staking right before a check does not qualify you. When you link, the bot fetches your real on-chain staking history for the last 7 days, so an established staker qualifies right after linking.
Gates and tiers
- Stake gate: 2500 ATOM, measured as both the 7-day average and the current amount. This value, and the reputation thresholds below, are set per chat and can be changed by operators.
- Reputation: 15 to become an admin, 50 to unlock ban and mute.
- Entry tier (stake gate met, reputation 15 or more): pin messages and invite users.
- Trusted tier (reputation 50 or more): also delete messages, mute and ban.
- Never granted at any tier: adding other admins, changing group info, or anything owner-level.
- Reputation only changes your permission tier. It never removes you. Removal happens only when your stake drops below the gate, you unlink your wallet, or you leave the chat.
Existing admins
Existing and manually-added admins are untouched. The bot only manages the admins it promotes itself.
How many admins
There is no maximum by default: everyone who meets the gates is promoted, and ranking plays no part.
An operator can set a per-chat cap. If a cap of N is set and more than N people pass both gates, the candidates are ranked by a score and only the top N keep the seats. The score is exact:
score = stakeWeight * (staked / stake gate)
+ repWeight * (reputation / entry reputation)
+ recencyWeight * recency
Each weight is set per chat. The defaults are stakeWeight 1, repWeight 1, recencyWeight 0, so by default the score is just how far past the stake gate you are plus how far past the reputation gate you are, and recent activity does not affect it at all. Recency only counts once an operator raises its weight above 0. The recency value itself is 1.0 right after you are active and falls in a straight line to 0 over one week of silence (and is 0 if there is no activity record yet).
Worked example. Stake gate 2,500 ATOM, entry reputation 15, cap 2, default weights (1, 1, 0). Three people pass both gates:
- Alice: 10,000 ATOM, reputation 60. Score = 10000/2500 + 60/15 = 4 + 4 = 8.0
- Bob: 5,000 ATOM, reputation 30. Score = 5000/2500 + 30/15 = 2 + 2 = 4.0
- Carol: 2,600 ATOM, reputation 51. Score = 2600/2500 + 51/15 = 1.04 + 3.4 = 4.44
The top 2 keep the seats: Alice (8.0) and Carol (4.44). Bob (4.0) misses out even though he stakes more than Carol, because under equal weights Carol's higher reputation outweighs Bob's larger stake.
Recency example. Same three people and cap 2, but now the operator sets recencyWeight to 1. Bob posted today (recency 1.0) and Carol has been silent for over a week (recency 0):
- Bob: 4.0 + 1 * 1.0 = 5.0
- Carol: 4.44 + 1 * 0 = 4.44
Now Bob takes the last seat over Carol. That is all the recency weight does once it is above 0: it lets recent activity tip close contests. It never changes who is eligible in the first place, and it never removes anyone (that is the separate idle removal below).
Timing
If you join or rejoin the chat and already qualify, you are promoted right away (the same happens right after you pass captcha). A passing demote vote removes the admin immediately, and turning the feature off removes them immediately. Everything else, such as newly crossing the threshold while already in the chat, tier changes, and demotions from losing stake, unlinking, or leaving, is caught by a twice-daily recheck (up to about 12 hours), plus a manual run-now trigger available to operators.
Activity
An activity checker records who is active in chats where it is turned on. It counts more than plain messages: a user is marked active both when they post messages and when a human admin performs moderation through Telegram itself, such as banning, muting or promoting someone. Deleting messages is invisible to bots and does not count. Activity can be folded into ranking as a recency tiebreaker when a cap is set (off by default, since the recency weight starts at 0 - see How many admins above), and it also feeds the idle removal feature below when an operator turns that on.
Idle removal
An operator can set a per-chat inactivity window, measured in days. A bot-managed admin who has not been active for longer than that window is removed. A few things to know:
- It only removes admins. It never blocks anyone from becoming an admin.
- A newly promoted admin gets a full window of grace before it can ever apply to them.
- It does nothing unless activity recording is on for that chat and has been on long enough to cover a full window, so it never punishes silence from before recording started.
- It is off by default.
Ban transparency broadcast
When turned on for a chat, the bot posts a short public line naming the admin and the user whenever a human admin, including the owner, bans someone through Telegram's own interface. Both names are clickable. This is off by default and set per chat.
- Bans done by the bot itself, such as captcha, blacklist, or the bot's own ban command, are not posted.
- Repeated events for the same ban are collapsed into a single line.
Community vote to demote
Any member can open a public vote to remove a bot-promoted admin with #demote: as a reply to the
person, or standalone as #demote <telegram id> or #demote @username. Anyone can vote using the
buttons on the vote message, and the tally is public and updates live.
- A vote needs 30 voters and a two-thirds majority to pass, within a 1-hour window.
- There is a 1-week cooldown per person so votes cannot be spammed.
- You need at least 1 reputation to vote, which keeps throwaway accounts out.
- Only current members of the chat can start or vote in a demote poll, and a voter must have already been in the chat for a while before the vote was opened. This blocks the attack of flooding the chat with fresh accounts to swing a vote.
- It only works on admins the bot promoted, not manually-added ones.
- If a vote passes, the bot removes the admin and will not re-add them automatically. An operator can reinstate them.