Discord, for Algorand projects
Your roles,
from what they actually hold.
A member links their wallet once and gets the right roles straight away. As their holdings change, so do their roles. When you want to reward them, the bot pays every eligible holder at once and shows you the cost first.
Status
Running our own Discord every day. Not yet available to
anyone else. We will open the source when it is ready for other people to
run, and we will host it if enough projects ask.
Say which you would use.
Step one
A member links their wallet
They type /verify and sign a message
in Pera or Defly. No seed phrase, nothing transferred, no screenshot of a
balance. You never hold their keys and neither do we.
/verify
Verify Your Wallet
Click the button below to verify ownership of your Algorand wallet.
What happens:
1. Connect your Pera/Defly wallet
2. Sign a verification message
3. Your roles will be assigned automatically
This link expires in 15 minutes
Your wallet ownership is verified cryptographically
[ Verify Wallet ]
Seconds later, the roles are on. Nothing lands in their inbox to say so:
running /verify again shows what the
bot recorded, and the same button adds a second wallet. They can link as many
as they like, and unlink any of them whenever they like.
Wallet Verified!
Your wallet has been verified and roles assigned.
Verified Wallets ABCDEF...WXYZ
Total Balance 1,234,567 $TOKEN
Tier Supporter
Roles Assigned Verified, Holder, Supporter, LP Provider
Use /verify again to add another wallet
[ Add Another Wallet ] Step two
Their roles keep themselves honest
The bot rechecks everyone on a timer. Buy more and the role goes up. Sell and it comes down. Tokens sitting in a liquidity pool still count, so nobody has to choose between providing liquidity and keeping the role they earned.
/status
Verification Status
Status Verified
Tier Supporter
Leaderboard Visible
Wallet(s) (2) ABCDEF...WXYZ GHIJKL...STUV
Holdings
Direct: 400M $TOKEN
LP: 150M $TOKEN
Total: 550M $TOKEN -> Supporter
Collectibles
Pass: 1
Collectible: 14
Next Tier
VIP: need 450M
Verified: 3 Sep 2026 - Updated: 8 Sep 2026 - /verify - /togglepublic Tier names, the amounts behind them and which Discord role each one grants are yours to set. So are your collections. Six tiers or two, whatever suits the project.
Step three
You pay them, without the spreadsheet
One command pays every eligible holder of a collection. You see exactly who is on the list and what it will cost before anything moves, and you confirm before it does.
/rain preview collection:Pass
Pass rain preview (cached holdings, no send)
Eligible wallets: 34
Eligible people: 34
Incomplete: 0
Ineligible: 12
A live rain would not abort (no incomplete reads).
Eligible: @ana @ben @cal ...
/rain send collection:Pass confirm:true amount:50000 note:Payout week 3
Pass rain send note=Payout week 3
Planned: 34 wallet(s), 34 x 50,000 = 1,700,000 $TOKEN
Sent: 32
Skipped (not opted in / frozen): 2 @dee @eli
Finished without a hot-wallet abort.
Leftover $TOKEN stays in the pot.
Receipts: @ana (explorer) @ben (explorer) ...
All sends: (the project wallet on the explorer) Members see a short note in the channel. The per-payment links stay private to you. Anyone the bot could not pay yet, because they have not opted into the token, is named and given a button that tells them how. Only they can press it.
Pass rain: 32 paid.
2 guests were not opted into $TOKEN, so they were not paid
this round. @dee @eli
If that was you, tap Opt into $TOKEN. One button for everyone
who missed it. Discord cannot opt you in, Pera does. This rain
already finished.
[ Opt into $TOKEN ] The part that matters
Nobody gets half paid, and nothing pays its week twice
Paying a whole community at once is the most useful thing the bot does and the most dangerous. A transfer cannot be taken back, so the bot refuses far more readily than it guesses.
It stops rather than pay a short list
If the bot is not sure it knows who holds what, it pays nobody. A payout that reaches nine people out of ten looks like favouritism, and you cannot undo it.
A recurring payout cannot run its week twice
Anything on a timer is keyed by the period it belongs to, a week or a month, not by a clock time. A run that finishes claims that period, so a retry, a restart or a second tick is refused rather than paid, and a second run cannot start while one is still in flight. A payout you type out by hand is a different thing: it goes when you confirm it.
Spending limits refuse, they do not trim
You set a limit per payment and per week. A payout that would cross one is refused whole, with the reason, rather than quietly shrunk to fit.
Afterwards there is proof
Every payment is written to the audit log before anyone is told it happened, and your receipt carries a block explorer link for each person paid, plus one to the whole history of the wallet that paid them.
The bot can also hold a fixed reward pot and pay it out a week at a time, over six months or a year. The length is chosen once and fixed the moment the first week pays, and each holder's share is worked out in advance and divided into equal weekly cheques. Later mints never shrink what an existing holder was promised, because the share is a fixed fraction of the pot rather than a split of it, and a share nobody claims stays in the pot instead of quietly enlarging everybody else's.
The commands
Members see their own. Admin commands are hidden from everyone else by Discord, and refused again by the bot if somebody finds them.
Anyone
| /verify | Link a wallet by signing in Pera or Defly. Roles land straight away. |
| /status | What you hold, your tier, and what the next tier needs. |
| /unlink | Remove a wallet. Roles update on the spot. |
| /mynft | Browse your collectibles. Add public:true to show one off. |
| /flex | Post one of your collectibles in the channel, or someone else's. |
| /nft | Look up any collectible in the project by its asset id. |
| /leaderboard | Top holders in the server. |
| /togglepublic | Show your name on the leaderboard, or appear there as Anonymous. |
| /claim | Collect a prize offered to you, once you have opted into it. |
| /community | How many holders there are, and how the tiers are spread. |
| /tokens | Your project's tokens and where to get them. |
| /time | Turn a time into one everybody reads in their own clock. |
| /game | Card games and foraging. me, daily, call, jack, forage. |
| /ping | Check the bot is awake. |
| /help | Every command, and the rules of every game, in plain words. |
The games under /game are played for
points that are only ever points. There is no path from a game to the project
wallet, in either direction, and playing never affects anyone's roles or what
they are paid.
Admins
| /rain | Pay every eligible holder of a collection at once. Preview the cost first. |
| /giveaway | Send tokens to one member, offer them a collectible, or show where to top the pot up. |
| /raffle | Draw a winner from your holders, with an exclusion list. |
| /schedule | Put payouts and syncs on a timer. Everything starts switched off. |
| /wallet | The project wallet: address, balance, spending limits, opt-ins, history. |
| /resync | Recheck everyone's roles now. |
| /admin-nft-registry | Refresh what the bot knows about your collections. |
| /settings | Operator settings the bot keeps in its database. |
| /ops | What the bot has been doing, when things look wrong. |
| /say | Post an announcement as the bot. Every one is logged. |
| /test-balance | Check what the bot thinks any address holds. |
Role mappings are managed from a web page you sign into with your wallet, so changing which role a tier grants does not need a developer.
Ahead
It will be open source
No date, and we will not pretend to one. Something that moves real money in public needs its rough edges written down before other people run it, and that is the work between here and a public repository.
Under consideration
Or we could run it for you
Running it yourself means a server, a Discord application and a wallet you keep an eye on. Some projects will want exactly that. Some will want a bill instead.
Nothing here is for sale yet, and there are no prices because there is no offer. Tell us which of these fits your project and that is what decides whether it exists.
Run it yourself
Your server, your Discord app, your wallet, your keys. Once the source is public, this is yours to take.
We run it
We keep it up, patched and watched. You keep the wallet, so the money stays yours and we never hold it.
We set it up too
We map out your tiers, collections and payout plan with you first, and do a dry run before a single token moves.
Tell us which one you want
No waitlist and no form, because a list we might never act on is worse than nothing. Come and say it in the Discord. If enough projects want the same thing, that is the thing we build.