Setup & Comptes .

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.

Sommaire

  1. TL;DR — qu'est-ce que ton pote doit créer
  2. 1. Comptes à créer (gratuit)
  3. 2. Options payantes (quand tu auras du revenu)
  4. 3. Ordre de mise en place
  5. 4. Secrets & variables d'environnement
  6. 5. Checklist finale

TL;DR — Qu'est-ce que ton pote doit créer

Tous gratuits, environ 30 minutes au total. Demande-lui de créer les comptes avec une adresse email dédiée au projet (ex: diggr.dev@gmail.com) plutôt qu'avec son perso, pour que tu puisses récupérer/transférer plus tard.
ServiceÀ quoi ça sertCoûtPriorité
SupabaseBase de données + auth + admin panel0 €requis
CloudflareHébergement frontend + Pages Functions + Turnstile (anti-bot)0 €requis
GitHubVersionner le code + déploiement auto vers Cloudflare0 €requis
X Developer PortalOAuth login Twitter (free tier)0 €requis
Telegram BotFatherToken du bot (déjà fait probablement)0 €requis
Helius ou QuickNodeRPC Solana pour vérifier wallets / tasks on-chain0 €optionnel
VercelAlternative à Cloudflare Pages si vous préférez Next.js0 €au choix
SentryMonitoring d'erreurs en prod0 €recommandé
⚠️ EC2 AWS : déjà existant pour le bot Telegram. Pas besoin d'en créer un nouveau. Vérifie juste qu'il a Python/Node + accès internet sortant pour appeler Supabase.

1. Comptes à créer en détail (gratuit)

1.1 Supabase requis free tier

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.

Étapes

  1. 1S'inscrire avec GitHub (recommandé)
  2. 2Créer un projet : nom diggr-prod, région eu-west-3 (Paris) ou eu-central-1 (Frankfurt)
  3. 3Choisir un mot de passe DB très solide (générateur 32 chars, le sauvegarder dans 1Password/Bitwarden)
  4. 4Récupérer dans Settings → API : Project URL, anon key, service_role key
  5. 5Activer la 2FA sur le compte

Limites free tier (avril 2026)

1.2 Cloudflare requis free tier

URL : 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.

Étapes

  1. 1Créer un compte sur cloudflare.com
  2. 2Activer la 2FA
  3. 3Si tu as un domaine (ex: diggr.xyz), l'ajouter dans Cloudflare (gratuit, change les NS chez ton registrar)
  4. 4Aller dans Workers & Pages → connecter GitHub
  5. 5Aller dans Turnstile → créer un site, récupérer la site key et la secret key

Limites free tier

1.3 GitHub requis free tier

URL : github.com

À quoi ça sert : versionner le code, et déclencher un déploiement Cloudflare Pages à chaque git push.

Étapes

  1. 1Créer une organisation (pas un compte perso) : diggr
  2. 2Créer un repo privé : diggr-frontend
  3. 3Activer la 2FA obligatoire pour l'org
  4. 4Inviter les collaborateurs (toi + ton pote) en owner

1.4 X Developer Portal requis free tier

URL : 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).

⚠️ POINT CRITIQUE en 2026 : le free tier ne permet PAS de vérifier qu'un user follow un compte, ni de vérifier les likes/RT. Pour ça il faut le tier Basic à 200 USD/mois. Voir section "options payantes" plus bas. En attendant, on utilise une vérification semi-auto basée sur l'URL des tweets (oEmbed gratuit).

Étapes

  1. 1Créer un compte X dédié au projet : @diggr_app (sera aussi le compte officiel à follow)
  2. 2Souscrire au tier Free sur developer.x.com (pas de carte demandée pour Free)
  3. 3Créer un Project + une App, type "Web App, Automated App or Bot"
  4. 4User authentication settings : OAuth 2.0, type "Confidential client", callback https://diggr.xyz/auth/x/callback (à adapter)
  5. 5Récupérer Client ID et Client Secret (les sauvegarder, le secret n'est affiché qu'une fois)
  6. 6Scopes nécessaires : tweet.read, users.read, offline.access

1.5 Telegram BotFather requis gratuit

Sur 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.

Étapes (si pas déjà fait)

  1. 1/newbot dans la conv BotFather
  2. 2Donne un nom + un username (doit finir par _bot)
  3. 3Sauvegarde le token 123456:ABC-DEF...
  4. 4IMPORTANT : ajoute le bot comme admin dans le canal Telegram à follow (lecture seule suffit) — sans ça getChatMember ne fonctionne pas

1.6 Helius (RPC Solana) optionnel free tier

URL : 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).

Limites free tier

Alternative : QuickNode free tier (10M crédits/mois). Ou simplement le RPC public https://api.mainnet-beta.solana.com (instable mais 0 €).

1.7 Sentry (monitoring) recommandé free tier

URL : sentry.io

À quoi ça sert : récupérer les erreurs JS du frontend + erreurs serveur, sans avoir à checker les logs manuellement.

Limites free tier

1.8 Domaine (si vous en voulez un) optionnel

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.

2. Options payantes (à activer quand le projet rapporte)

Tout ce qui suit est optionnel au début. À activer dans cet ordre quand tu en auras besoin.

2.1 X API Basic

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.

Ce que ça débloque

Quand l'activer : dès que tu as > 100 users actifs/jour. Avant ça, le système semi-auto suffit.

2.2 Supabase Pro

Pourquoi : dès que tu approches 500 MB de DB, ou que la pause auto te casse les pieds.

Ce que ça débloque

Quand l'activer : à partir de ~10 000 users actifs.

2.3 Cloudflare Workers Paid

Pourquoi : au-delà de 100 000 requêtes/jour vers tes Pages Functions.

Ce que ça débloque

2.4 Helius Developer

Pourquoi : au-delà du million de RPC/mois (vérifications wallets très fréquentes).

2.5 Sentry Team

Si tu dépasses 5k erreurs/mois ou que tu veux plus d'un utilisateur sur le dashboard.

2.6 Vercel Pro

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.).

2.7 EC2 upgrade

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.

Coût total cumulé selon stade

StadeUsersCoût/mois
MVP / Beta0 - 1 0000 USD (tout gratuit)
Lancement public1 000 - 5 000~10 USD (domaine + EC2)
Croissance5 000 - 20 000~250 USD (+ X Basic + Supabase Pro)
Mature20 000+~350 USD (+ Helius + Sentry + CF Workers)

3. Ordre de mise en place

Suivre cet ordre minimise les blocages :

  1. Jour 1 — Comptes basiques (1h)
    • GitHub org + repo
    • Cloudflare account + 2FA
    • Supabase project
    • Sentry (optionnel)
  2. Jour 1 — Schéma DB (1h)
    • Créer les tables dans Supabase Studio (users, tasks, completions, referrals)
    • Activer Row Level Security (RLS) sur chaque table
  3. Jour 2 — Frontend squelette (2-4h)
    • Initialiser Vite + React
    • Push GitHub → connecter à Cloudflare Pages
    • Vérifier que le déploiement auto marche
  4. Jour 2 — Auth Wallet Solana (2-3h)
    • Intégrer @solana/wallet-adapter-react
    • Endpoint Pages Function pour vérifier la signature SIWS
    • Insertion user en DB Supabase
  5. Jour 3 — Auth X (OAuth 2.0) (2h)
    • Créer le compte X Dev + app
    • Implémenter le flow OAuth 2.0 PKCE
    • Lier l'x_user_id au wallet en DB
  6. Jour 3 — Vérif Telegram (1h)
    • Login Widget Telegram (gratuit, signature HMAC)
    • Endpoint qui appelle getChatMember
  7. Jour 4 — Tasks & points (3-4h)
    • UI liste des tasks
    • Endpoint validation task
    • Calcul points + agrégat
  8. Jour 5 — Référral (2h)
    • Génération slug unique par wallet
    • Tracking ?ref=XXX via cookie
    • Trigger SQL : si filleul fait les 2 tasks de base, +50 pts au parrain
  9. Jour 5 — Anti-sybil (1h)
    • Cloudflare Turnstile sur signup et claim
    • Check wallet age > 7j via Helius
  10. Jour 6 — Bot Telegram (intégration) (2h)
    • Sur l'EC2 : commande /link qui associe TG ↔ wallet
    • Le bot lit users dans Supabase via service_role key
  11. Jour 7 — Tests, polish, déploiement prod

4. Secrets & variables d'environnement

À 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)
Jamais dans Git. Le .gitignore doit contenir : .env, .env.local, .env.*.local. Vérifie avec git status avant chaque commit.

5. Checklist finale pour ton pote

À faire dans l'ordre

Quand tout est fait : partage-moi les URLs (Supabase project URL, repo GitHub, Cloudflare account ID) et on commence le code. Les secrets (service_role, client_secret, bot_token) ne doivent JAMAIS passer en clair par message — utilise un vault partagé.