Liste exhaustive des comptes à créer, ordre de mise en place, et options payantes pour chaque brique. Pour l'app de référral / daily tasks DIGGR.
diggr.dev@gmail.com) plutôt qu'avec son perso, pour que tu puisses récupérer/transférer plus tard.
| Service | À quoi ça sert | Coût | Priorité |
|---|---|---|---|
| Supabase | Base de données + auth + admin panel | 0 € | requis |
| Cloudflare | Hébergement frontend + Pages Functions + Turnstile (anti-bot) | 0 € | requis |
| GitHub | Versionner le code + déploiement auto vers Cloudflare | 0 € | requis |
| X Developer Portal | OAuth login Twitter (free tier) | 0 € | requis |
| Telegram BotFather | Token du bot (déjà fait probablement) | 0 € | requis |
| Helius ou QuickNode | RPC Solana pour vérifier wallets / tasks on-chain | 0 € | optionnel |
| Vercel | Alternative à Cloudflare Pages si vous préférez Next.js | 0 € | au choix |
| Sentry | Monitoring d'erreurs en prod | 0 € | recommandé |
URL : supabase.com
À quoi ça sert : base de données Postgres managée + système d'auth + admin panel (Studio) + API REST auto-générée. C'est le cœur du backend.
diggr-prod, région eu-west-3 (Paris) ou eu-central-1 (Frankfurt)Project URL, anon key, service_role keyURL : dash.cloudflare.com/sign-up
À quoi ça sert : hébergement du frontend (Cloudflare Pages), API serverless (Pages Functions / Workers), protection anti-bot (Turnstile), et CDN.
diggr.xyz), l'ajouter dans Cloudflare (gratuit, change les NS chez ton registrar)site key et la secret keyURL : github.com
À quoi ça sert : versionner le code, et déclencher un déploiement Cloudflare Pages à chaque git push.
diggrdiggr-frontendURL : developer.x.com/en/portal
À quoi ça sert : obtenir les clés OAuth 2.0 pour le login "Connect with X" (free tier suffit pour le LOGIN, pas pour vérifier follows/likes).
@diggr_app (sera aussi le compte officiel à follow)https://diggr.xyz/auth/x/callback (à adapter)Client ID et Client Secret (les sauvegarder, le secret n'est affiché qu'une fois)tweet.read, users.read, offline.accessSur Telegram : chercher @BotFather
À quoi ça sert : probablement déjà fait puisque tu as un bot. Sinon, c'est ce qui te donne le BOT_TOKEN.
/newbot dans la conv BotFather_bot)123456:ABC-DEF...getChatMember ne fonctionne pasURL : helius.dev
À quoi ça sert : appeler la blockchain Solana pour vérifier l'âge d'un wallet (anti-sybil) ou des tasks on-chain (swap, hold token).
Alternative : QuickNode free tier (10M crédits/mois). Ou simplement le RPC public https://api.mainnet-beta.solana.com (instable mais 0 €).
URL : sentry.io
À quoi ça sert : récupérer les erreurs JS du frontend + erreurs serveur, sans avoir à checker les logs manuellement.
Pas gratuit (8-12 €/an) mais essentiel pour la crédibilité. Recommandés : Namecheap, Porkbun (le moins cher), ou Cloudflare Registrar (prix coûtant, pas de marge).
Si diggr.com/.io/.xyz est pris, alternatives crypto : .fun, .app, .gg, .so.
Tout ce qui suit est optionnel au début. À activer dans cet ordre quand tu en auras besoin.
Pourquoi : seul moyen de vérifier automatiquement qu'un user follow ton compte X, qu'il a liké un tweet, ou qu'il l'a RT.
GET /2/users/:id/following → vérifier followGET /2/tweets/:id/liking_users → vérifier likeGET /2/tweets/:id/retweeted_by → vérifier RTQuand l'activer : dès que tu as > 100 users actifs/jour. Avant ça, le système semi-auto suffit.
Pourquoi : dès que tu approches 500 MB de DB, ou que la pause auto te casse les pieds.
Quand l'activer : à partir de ~10 000 users actifs.
Pourquoi : au-delà de 100 000 requêtes/jour vers tes Pages Functions.
Pourquoi : au-delà du million de RPC/mois (vérifications wallets très fréquentes).
Si tu dépasses 5k erreurs/mois ou que tu veux plus d'un utilisateur sur le dashboard.
Uniquement si vous partez sur Next.js + Vercel au lieu de Cloudflare Pages. Le free tier Vercel a une clause "no commercial use" qui pose problème dès que tu monétises (token, NFT, etc.).
Ton EC2 actuel suffira longtemps. Mais si le bot Telegram doit gérer des dizaines de milliers d'users, passer de t3.micro à t3.small/medium.
| Stade | Users | Coût/mois |
|---|---|---|
| MVP / Beta | 0 - 1 000 | 0 USD (tout gratuit) |
| Lancement public | 1 000 - 5 000 | ~10 USD (domaine + EC2) |
| Croissance | 5 000 - 20 000 | ~250 USD (+ X Basic + Supabase Pro) |
| Mature | 20 000+ | ~350 USD (+ Helius + Sentry + CF Workers) |
Suivre cet ordre minimise les blocages :
@solana/wallet-adapter-reactx_user_id au wallet en DBgetChatMember?ref=XXX via cookie/link qui associe TG ↔ walletusers dans Supabase via service_role keyÀ stocker dans Cloudflare Pages → Settings → Environment Variables (encrypted) et dans le bot EC2 (.env local jamais committé).
# Supabase
SUPABASE_URL=https://xxxxx.supabase.co
SUPABASE_ANON_KEY=eyJ... # côté frontend, public OK
SUPABASE_SERVICE_ROLE=eyJ... # SECRET, jamais côté frontend
# X / Twitter OAuth
X_CLIENT_ID=...
X_CLIENT_SECRET=... # SECRET
X_CALLBACK_URL=https://diggr.xyz/auth/x/callback
# Telegram
TELEGRAM_BOT_TOKEN=123:ABC... # SECRET
TELEGRAM_CHANNEL_ID=-100123456 # ID du canal à follow
# Solana RPC
HELIUS_API_KEY=... # SECRET
SOLANA_RPC_URL=https://mainnet.helius-rpc.com/?api-key=...
# Cloudflare Turnstile
TURNSTILE_SITE_KEY=0x4AAA... # public OK
TURNSTILE_SECRET_KEY=0x4AAA... # SECRET
# App
APP_URL=https://diggr.xyz
JWT_SECRET=... # SECRET, généré aléatoirement (openssl rand -hex 32)
.gitignore doit contenir : .env, .env.local, .env.*.local. Vérifie avec git status avant chaque commit.
diggr.dev@gmail.com (ou similaire)diggr → repo privé diggr-frontenddiggr-prod région EU@diggr_app + Developer Free tier → app + clés OAuth