StarkChat is a Telegram bot that revolutionizes community management for Starknet-based projects by implementing token-gated access control. Perfect for DAOs, NFT communities, and token holders.
-
Token-Gated Access Control
- Automatic verification of ERC20 token holdings
- Configurable minimum balance requirements
- Support for any Starknet ERC20 token
-
Secure Wallet Verification
- Cryptographic challenge-response system
- Starknet signature verification
- Protection against wallet spoofing
-
Smart Group Management
- Time-limited invite links (24h expiration)
- Daily member verification
- Automated removal of non-compliant members
- Seamless user experience
- Backend: Node.js (v18+)
- Database: Turso (libSQL)
- Blockchain: Starknet
- Frontend: React (for admin dashboard)
- Infrastructure: Docker support
- Node.js v18+
- Docker (for local development)
- Telegram Bot Token (from @BotFather)
- Starknet Wallet
- Clone and setup:
git clone https://github.com/Dreamscape-Mastermind/starkchat.git
cd starkchat
npm install- Configure environment:
cp .env.example .envEdit .env with your credentials:
TELEGRAM_BOT_TOKEN=your_bot_token
TELEGRAM_GROUP_ID=your_group_id
TOKEN_ADDRESS=your_token_contract_address
MIN_BALANCE=1000000000000000000 # 1 token (18 decimals)
STARKNET_NETWORK=sepolia-alpha
DATABASE_URL=your_turso_db_urlRun all services (bot + frontend):
npm run dev:allOr run services separately:
# Run bot only
npm run dev
# Run frontend only
npm run dev:frontendnpm run build:frontend
npm start- ETH:
0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7 - USDC:
0x005a643907b9a4bc6a55e9069c4fd5fd1f5c79a22470690f75556c4736e34426
- Create bot via @BotFather
- Set bot permissions:
- ✅ Ban users
- ✅ Invite management
- ✅ Member management
- User starts bot (
/startor/join) - Provides Starknet wallet
- Signs verification message
- Bot checks token balance
- User receives private invite link
- Single-use invite links
- Cryptographic wallet verification
- Regular balance checks
- Automated member management
# Run test suite
npm test
# Run with watch mode
npm run test:watchAPI documentation is available at /docs when running the development server.
We welcome contributions! Please see our Contributing Guide for details.
MIT
- Create an issue on GitHub
Built with ❤️ for the Starknet Community