Telegram group treasury on NEAR
Groupmoneynobodyhastohold.
Prize money, event budgets, a team's shared fund. Today it sits in one person's wallet and everyone trusts them. Commons keeps it in a NEAR treasury the whole group owns, right inside your Telegram chat.
Built on- The council's keys
- The pot
- The bot, proposer only
§ 0The books, live
Every payment, on the record.
This receipt is printed from the demo group's DAO on NEAR testnet and refreshed every five minutes. It needs 2 of 3 council signatures to move a coin, and the bot has none to give.
The mark is the vote meter. Each arc is a council member's key; when a majority lights up, the pot pays.
- Payments made
- 1
- Approvals needed
- 2 of 3
- Votes cast by the bot
- 0
§ 1How it works
From a chat message to a payment, with the group in charge.
Payments need 2 of 3 approvals. My role in this DAO is proposer only.
25 NEAR to @huc
huc.commons.testnet
For: monitor for demo day
Asked by @linh
Status: paid
§ 2Why it matters
Today, one person holds the group's money.
Hackathon prizes are paid in one payment to one account. Event budgets and club funds work the same way. Everyone else trusts that person to pay them back.
§ 3Safety
Why the money is safe.
Three rules, written into the contract rather than promised by us.
- ArticleI
No single holder
The money sits in a Sputnik DAO, the contract Trezu builds on. Not in a teammate's wallet.
- ArticleII
The bot cannot pay itself
Its DAO role is proposer only. Whoever got hold of the bot's key could draft payments, and the contract would refuse everything else.
- ArticleIII
Anyone can check
The ledger reads the rules, votes and payments straight from the chain. So does npm run verify.
Incident report
We attacked our own bot on testnet.
With the bot's key in hand we drafted "send everything to the bot", then tried to approve it and to rewrite the rules. The contract refused both with ERR_PERMISSION_DENIED. The pot kept its money.
§ 4Built on NEAR
- NEAR Protocolevery member is a named account, <name>.<sponsor>
- Sputnik DAO v2holds the money and counts the votes
- NEAR Intents · 1Clickchip in from Base, Arbitrum, Solana, Ethereum, Tron
- near-api-jskeys made and votes signed on the phone; the server only sees public keys
- FastNEAR RPCreads the rules, votes and balances for the ledger and the Mini App
- NearBlocksexplorer links for every transaction
- Telegram Mini Appvote where the group already talks

Try it with your group
Add the bot to a Telegram group and send /commons. It runs on NEAR testnet, so nothing real is at stake.