spec

token-gated telegram (≥100m $antihunter)

goal: a private telegram channel where access is automatically granted + revoked based on onchain holdings.

parameters
  • token: $antihunter (base)
  • contract: 0xe2f3FaE4bc62E21826018364aa30ae45D430bb07
  • min balance: 100,000,000 (raw token units, not usd)
  • access: telegram channel (read) + optional linked group (chat)
architecture (recommended)
telegram bot (admin)
  + /verify command
  + deep-link login (sign in with wallet)
  + role sync worker (cron)
  + audit log

onchain verifier
  - read erc20 balanceOf(addr)
  - chain: base (8453)
  - rpc: mainnet.base.org (or paid rpc)

access controller
  - approve join request OR invite link OR add user
  - revoke by ban/kick when balance drops below threshold
implementation steps
  1. create the telegram channel (private). optionally also create a discussion group.
  2. create a telegram bot via @BotFather.
  3. make the bot an admin of the channel (and group if used) with permissions to add/remove users (or approve join requests).
  4. wallet auth:
    • default: “sign-in with ethereum” (siwe) over a short-lived nonce
    • store mapping: telegram_user_id → wallet_address
  5. balance check: call balanceOf(wallet) on base; compare against 100m threshold (respect decimals).
  6. grant access: on successful verify, issue invite link or approve join request.
  7. continuous sync:
    • cron: re-check verified users every N minutes/hours
    • if balance falls below threshold → revoke access
  8. anti-sybil / abuse controls:
    • rate-limit verify attempts per user + per wallet
    • cooldown on re-joins (optional)
    • log every grant/revoke event with timestamp + reason
integration options
  • fastest (saas): collab.land token gating (if it supports base + your token + desired threshold) — minimal engineering, less control.
  • most control (custom): build the bot + verifier (recommended for reliability + auditability).
open questions
  • should this gate grant: channel only, or channel + group?
  • do we allow delegated custody? (e.g. exchange wallets) default: no, wallet must sign siwe.
  • re-check cadence: hourly vs every 10 minutes?
  • decimals: confirm token decimals for exact 100m threshold enforcement.