Format: Turniej prognoz BTC w Telegramie
Typ: NIE bukmacherka, a konkurs prognoz z pulą nagród
⸻
1. OGÓLNA KONCEPCJA
Każdą godzinę rejestrowana jest cena BTC.
Użytkownik wybiera:
• 📈 Wyżej
• 📉 Niżej
Po 60 minutach rejestrowana jest nowa cena.
Jeśli prognoza jest poprawna — przyznawane są punkty.
Na koniec dnia / tygodnia rozdzielana jest pula nagród.
⸻
2. PLATFORMY
Format:
Telegram Mini App (WebApp w Telegramie)
Autoryzacja:
Przez Telegram WebApp Auth
Użyj Telegram ID jako unikalnego klucza użytkownika.
⸻
3. TECHNOLOGIE
Frontend:
• React / Next.js
• Telegram WebApp SDK
Backend:
• Node.js (Express) lub Python (FastAPI)
• PostgreSQL
Integracje:
• API do pobierania ceny BTC (podaj giełdę, np. MEXC lub Binance)
• Cron do rejestrowania ceny co godzinę
⸻
4. LOGIKA RUNDY
Każdą godzinę:
1. O 00 minut rejestrowana jest cena startowa
2. Użytkownicy mogą głosować przez 55 minut
3. Ostatnie 5 minut głosowanie jest zamknięte
4. W następnej godzinie rejestrowana jest cena końcowa
5. Określany jest wynik
Jeśli cena końcowa > startowej → zwycięstwo “Wyżej”
Jeśli cena końcowa < startowej → zwycięstwo “Niżej”
Jeśli równa → runda jest anulowana
⸻
5. SYSTEM PUNKTÓW
Podstawowy model:
• Poprawna prognoza = +1 punkt
• Niepoprawna = 0
• Remis = zwrot punktu (jeśli model płatny)
Dodatkowo:
Jeśli użytkownik jest w mniejszości i ma rację — +2 punkty
(zrealizować dynamiczną logikę procentu tłumu)
⸻
6. EKONOMIA
Model: Dostęp do turnieju
Cenniki:
• Dzień — 10$
• Tydzień — 40$
• PRO — 99$
Użytkownik płaci za dostęp do udziału w rundach.
Pula nagród:
• 70% rozdzielane jest między TOP-graczami
• 30% — prowizja platformy
Podział:
1 miejsce — 40%
2 miejsce — 20%
3 miejsce — 10%
Pozostali — proporcjonalnie
⸻
7. EKRANY
7.1 Główna
• Bieżąca cena BTC
• Timer do końca rundy
• Przycisk: WYŻEJ / NIŻEJ
• Procent głosujących
• Status użytkownika (zagłosował / nie)
⸻
7.2 Ranking
• TOP 10
• Pozycja bieżącego użytkownika
• Liczba punktów
⸻
7.3 Profil
• Nick
• Bilans
• Poziom
• Seria zwycięstw
• Statystyki za sezon
⸻
7.4 Historia rund
• Numer rundy
• Prognoza
• Wynik
• Otrzymane punkty
⸻
8. SEZONOWY SYSTEM
• Sezon 30 dni
• Na koniec sezonu rejestrowany jest ranking
• Przyznawanie nagród
• Zerowanie punktów
⸻
9. DODATKOWE MECHANIKI
9.1 Seria zwycięstw (Streak)
• Wyświetlanie bieżącej serii
• Bonusowe punkty za 3+ z rzędu
9.2 Przeciw tłumowi
• Pokazywanie % głosów
• Jeśli gracz wybrał stronę <35% i miał rację — bonus
9.3 Poziomy graczy
• Nowicjusz
• Trader
• Kontrtrend
• Spekulant
• Legenda
⸻
10. PANEL ADMINISTRACYJNY
Trzeba zrealizować:
• Ręczne uruchamianie / zatrzymywanie turnieju
• Przeglądanie wszystkich użytkowników
• Przeglądanie transakcji
• Zmiana współczynników bonusów
• Ręczna korekta punktów
• Zarządzanie pulą nagród
⸻
11. BAZA DANYCH (MINIMUM)
Tabele:
users
• id
• telegram_id
• username
• balance
• total_points
• level
• streak
rounds
• id
• start_price
• end_price
• start_time
• end_time
• result
predictions
• id
• user_id
• round_id
• choice
• points_awarded
transactions
• id
• user_id
• amount
• type
• timestamp
⸻
12. BEZPIECZEŃSTWO
• Weryfikacja podpisu Telegram
• Ograniczenie jednego prognozowania na rundę
• Ochrona przed ponownym wysłaniem
• Serwerowa rejestracja ceny (nie z klienta)
⸻
13. WIZUALNY STYL
• Ciemne tło
• Pomarańczowe akcenty
• Minimalizm
• Duży timer
• Animacja ostatnich 10 sekund
⸻
14. TERMINY MVP
Etap 1 (MVP):
• Autoryzacja
• Runda
• Punkty
• Ranking
• Płatność za dostęp
⸻