Mini-app Base (Farcaster/Base App) premium : le checker de score airdrop + radar de quêtes que tous les farmers Base utilisent. Soufian = builder au centre du trafic farmer. Chaque visiteur laisse des tx sur notre contrat (badge soulbound).
- Farmer colle/connecte son wallet → score /100 + percentile → share card Farcaster/X → viral.
- Radar de quêtes = rétention (revenir compléter, re-checker le score).
- Badge onchain refreshable = tx récurrentes sur NOTRE contrat.
- Landing : fond sombre, cube 3D bleu Base qui s'amuse dans son coin (animation autonome ludique : rebonds, rotations, réactions au hover), titre DropRank, bouton Connect Wallet (OnchainKit). Option "paste address" lecture seule.
- Connexion validée → séquence d'entrée : animation boot HUD séquencée (SCANNING WALLET… / BASE LINK ESTABLISHED / ACCESS GRANTED), scanlines, compteurs qui roulent — excitation avant le menu.
- Menu : 2 sections — SCORE / RADAR (+ badge mint CTA).
- Score : score /100 reveal animé, breakdown par critère (style réponse API/terminal), percentile, bouton "Mint/Refresh badge", bouton share (image OG dynamique).
- Radar : ~12 quêtes vérifiées onchain auto (✅/❌), points par quête, lien direct pour faire chaque quête.
- Bleu Base #0052FF dominant sur fond sombre, premium, épuré techno.
- Futur techno : micro-copies HUD, reveals séquencés, scanlines subtiles, glow bleu, compteurs tabular-nums.
- Dev-friendly : JetBrains Mono pour les données, blocs façon terminal/console, structure type API response, curseur blink, syntax-highlight discret.
- Cube 3D : léger (CSS 3D ou canvas — décision designer, budget perf webview mini-app), clin d'œil au carré bleu Base.
- Minutie : typo features, spacing 4/8, easings précis, focus rings, états hover/active/disabled, tabular-nums.
| Critère | Max | Détection |
|---|---|---|
| Nb transactions (paliers) | 20 | Blockscout API tx count |
| Mois actifs distincts | 15 | timestamps tx |
| Jours actifs distincts | 10 | timestamps tx |
| Volume ETH cumulé | 10 | somme value tx |
| Contrats uniques touchés | 10 | to-addresses distinctes (code) |
| Ancienneté 1ère tx | 5 | first tx timestamp |
| Basename possédé | 5 | reverse resolution Basenames |
| Smart Wallet utilisé | 5 | code account / factory Coinbase |
| Quêtes Radar complétées | 20 | moteur quêtes |
Percentile : distribution des wallets déjà checkés (store Upstash/Vercel KV, sorted set). Fallback si store down : distribution statique embarquée (pattern edge-cache fallback).
Swap Aerodrome · Swap Uniswap (Base) · Lend/Borrow Moonwell · Supply Aave v3 Base · Mint NFT (n'importe lequel) · Basename · Smart Wallet tx · Bridge canonical vers Base · Déployer un contrat · 30 jours actifs distincts · Hold USDC natif · Lend/Borrow Morpho · Supply Compound v3 · Yield Pendle · Perps Avantis · Leverage Extra Finance · Swap PancakeSwap · Trade NFT OpenSea.
Zora retiré (2026-06-04) : projet basculé sur Solana + backlash communauté Base — l'activité NFT reste couverte par la quête générique "Mint NFT". Le radar = menu : somme brute > 20 pts, earned clampé à 20.
Détection : liste d'adresses contrats connus + scan des tx via Blockscout (keyless) ; Etherscan v2 en fallback optionnel.
- Frontend : Next.js (template
npx create-onchain --mini, OnchainKit v1, MiniKit enabled, wagmi/viem). App Router. - API routes :
/api/score/[address](fetch Blockscout + calcul + cache),/api/quests/[address],/api/og/[address](image share dynamique),/api/sign-score(signature EIP-712 du score pour le mint),/.well-known/farcaster.json(manifest). - Lib pure :
lib/scoring.ts,lib/quests.ts,lib/providers/blockscout.ts— testables unitairement (vitest). - Contrat
contracts/DropRankBadge.sol(Foundry) : ERC-721 soulbound (non transférable), 1/address,mint(score, sig)+refresh(score, sig), score signé EIP-712 par backend signer (clé dédiée sans fonds), tokenURI SVG onchain (score + tier + bleu Base). Déploiement Base mainnet, vérifié Basescan. - Store : Upstash Redis (percentiles + cache scores, TTL). Quota géré (memoire KV quota → fallback).
- Déploiement : Vercel. Manifest Farcaster signé via
npx create-onchain --manifest(compte Farcaster Soufian, à la fin).
- Clé signer backend = env Vercel, ne détient aucun fonds, ne fait que signer des scores.
- Pas de clé privée user manipulée. Lecture seule des wallets.
- Rate-limit API routes (IP) pour protéger quotas providers.
- Audit cybersecurite-senior avant déploiement.
- Scaffold MiniKit + structure + providers. ✅ = app boot local.
- Data layer + scoring + quests (TDD, vitest verts).
- Contrat Foundry + tests forge + signature EIP-712.
- UI premium (landing cube 3D, séquence entrée, score, radar, share OG).
- Tests E2E + audit secu + fixes.
- Deploy Vercel + contrat mainnet + manifest Farcaster + enregistrement écosystème Base.
- Clé API CDP (NEXT_PUBLIC_ONCHAINKIT_API_KEY) — gratuite, portal.cdp.coinbase.com.
- Wallet déployeur avec ~5$ ETH sur Base (déploiement contrat).
- Signature manifest Farcaster (1 min, à la fin).
Multi-chain, comparaison entre wallets arbitraires, historique de score, notifications push, token du jeu, marketplace.