Формат: Турнір прогнозів BTC всередині Telegram
Тип: НЕ букмекерка, а конкурс прогнозів з призовим фондом
⸻
1. ЗАГАЛЬНА КОНЦЕПЦІЯ
Кожну годину фіксується ціна BTC.
Користувач обирає:
• 📈 Вище
• 📉 Нижче
Через 60 хвилин фіксується нова ціна.
Якщо прогноз вірний — нараховуються бали.
В кінці дня / тижня розподіляється призовий фонд.
⸻
2. ПЛАТФОРМА
Формат:
Telegram Mini App (WebApp всередині Telegram)
Авторизація:
Через Telegram WebApp Auth
Використовувати Telegram ID як унікальний ключ користувача.
⸻
3. ТЕХНОЛОГІЇ
Frontend:
• React / Next.js
• Telegram WebApp SDK
Backend:
• Node.js (Express) або Python (FastAPI)
• PostgreSQL
Інтеграції:
• API отримання ціни BTC (вказати біржу, наприклад MEXC або Binance)
• Cron для фіксації ціни кожну годину
⸻
4. ЛОГІКА РАУНДА
Кожну годину:
1. В 00 хвилин фіксується стартова ціна
2. Користувачі можуть голосувати 55 хвилин
3. Останні 5 хвилин голосування закрито
4. В наступному годині фіксується фінальна ціна
5. Визначається результат
Якщо фінальна ціна > стартової → перемога “Вище”
Якщо фінальна ціна < стартової → перемога “Нижче”
Якщо дорівнює → раунд скасовується
⸻
5. СИСТЕМА БАЛІВ
Базова модель:
• Вірний прогноз = +1 бал
• Невірний = 0
• Нічия = повернення балу (якщо платна модель)
Додатково:
Якщо користувач у меншості і правий — +2 бали
(реалізувати динамічну логіку відсотка натовпу)
⸻
6. ЕКОНОМІКА
Модель: Доступ до турніру
Тарифи:
• День — 10$
• Тиждень — 40$
• PRO — 99$
Користувач платить за доступ до участі в раундах.
Призовий фонд:
• 70% розподіляється між ТОП-гравцями
• 30% — комісія платформи
Розподіл:
1 місце — 40%
2 місце — 20%
3 місце — 10%
Інші — пропорційно
⸻
7. ЕКРАНИ
7.1 Головна
• Поточна ціна BTC
• Таймер до кінця раунду
• Кнопки: ВИЩЕ / НИЖЧЕ
• Відсоток проголосувавших
• Статус користувача (проголосував / ні)
⸻
7.2 Лідерборд
• ТОП 10
• Позиція поточного користувача
• Кількість балів
⸻
7.3 Профіль
• Нік
• Баланс
• Рівень
• Серія перемог
• Статистика за сезон
⸻
7.4 Історія раундів
• Номер раунду
• Прогноз
• Результат
• Отримані бали
⸻
8. СЕЗОННА СИСТЕМА
• Сезон 30 днів
• В кінці сезону фіксується рейтинг
• Нарахування призів
• Обнулення балів
⸻
9. ДОПОВНЮВАЛЬНІ МЕХАНІКИ
9.1 Серія перемог (Streak)
• Відображати поточну серію
• Бонусні бали за 3+ підряд
9.2 Проти натовпу
• Показувати % голосів
• Якщо гравець обрав сторону <35% і виявився правим — бонус
9.3 Рівні гравців
• Новачок
• Трейдер
• Контртренд
• Спекулянт
• Легенда
⸻
10. АДМІН-ПАНЕЛЬ
Потрібно реалізувати:
• Ручний запуск / зупинка турніру
• Перегляд всіх користувачів
• Перегляд транзакцій
• Зміна коефіцієнтів бонусів
• Коригування балів вручну
• Управління призовим фондом
⸻
11. БАЗА ДАНИХ (МІНІМУМ)
Таблиці:
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. БЕЗПЕКА
• Перевірка Telegram підпису
• Обмеження одного прогнозу на раунд
• Захист від повторної відправки
• Серверна фіксація ціни (не з клієнта)
⸻
13. ВІЗУАЛЬНИЙ СТИЛЬ
• Темний фон
• Помаранчеві акценти
• Мінімалізм
• Великий таймер
• Анімація останніх 10 секунд
⸻
14. MVP ТЕРМІНИ
Етап 1 (MVP):
• Авторизація
• Раунд
• Бали
• Лідерборд
• Оплата доступу
⸻