Продукт / 02 · Активация
User flow · подробный разбор

От коробки до первого токена: каждый шаг под лупой.

Для каждого шага: что видит пользователь, что происходит под капотом, и что делаем, если что-то пошло не так. Целевое время всего флоу — три минуты.

A-00Шаги 1–7
STEP 01

Первый запуск приложения

Что видит пользователь
  • Два интро-экрана: «девайс майнит время» и «монета раз в ~29 дней»
  • Кнопка «Начать» — без регистраций, почты и паролей
  • Запрос push-уведомлений с объяснением: «скажем, когда монета созреет»
Под капотом
  • Кошелёк генерируется автоматически; ключ — в Secure Enclave / Android Keystore
  • Seed-фразу НЕ показываем на старте (не пугаем) — предложим бекап после первого Harvest
  • FCM-токен регистрируется на бекенде

Принцип: ноль крипто-слов на онбординге. Wallet, seed, gas — не существуют для пользователя.

Почему свой кошелёк, а не «подключите MetaMask»? Потому что наш покупатель — не криптан. Картину с циферблатом покупают люди, которые никогда не ставили крипто-кошелёк и не должны. Если на первом экране попросить «установите MetaMask и сохраните 12 секретных слов» — мы потеряем 8 из 10 покупателей прямо там. Поэтому кошелёк создаётся сам, невидимо, за секунду. А для криптанов позже добавим подключение своего кошелька — но это опция, не порог входа.

STEP 02

Скан QR-кода из коробки

Что видит пользователь
  • «Отсканируй код из коробки» → камера
  • Мгновенная галочка: «Код принят»
Под капотом
  • Код - одноразовый, из нашего whitelist (напечатан и вложен при упаковке)
  • Бекенд помечает код использованным - повторная активация невозможна
  • Тот же код связан с реферальной программой владельца

Ошибки: код уже использован → «Этот девайс уже активирован. Купили с рук? Напишите в поддержку» (сценарий перепривязки). Код не читается → ручной ввод короткого кода под QR.

Почему код в коробке, а не что-то «зашитое» в девайс? Если бы уникальность жила в самом девайсе, её пришлось бы прошивать на заводе — это дороже, сложнее в производстве и зависит от дисциплины фабрики. А бумажка с кодом печатается у нас, вкладывается при упаковке и полностью под нашим контролем. Плюс тот же код работает как реферальная ссылка — два механизма по цене одного.

Защита 1: только покупатель коробки может начать майнить

STEP 03

Связка с девайсом по Bluetooth

Что видит пользователь
  • Анимация: «Зажми кнопку на девайсе на 3 секунды»
  • Девайс найден → «Подключено», счётчик на корпусе оживает
Под капотом
  • Девайс включает BLE только после удержания кнопки — ищем и коннектимся
  • Читаем статус: ID девайса, батарея, версия прошивки
  • Записываем секретный ключ в устройство (одноразово, наружу не выходит)
  • Синхронизируем время RTC

Ошибки: девайс не найден за 15 с → подсказка про кнопку с видео; батарея пуста → «заряди USB-C и вернись»; девайс уже привязан к другому кошельку → поддержка (перепривязка).

Защита 2: секрет в девайсе → подпись при каждом сборе монеты

STEP 04

+1 TIME сразу — вау-момент

Что видит пользователь
  • Полноэкранная анимация «+1 TIME» — первый токен в день покупки
  • Если Genesis: бейдж «×2 · экземпляр №N»
  • Кнопка «Поделиться» — картинка для соцсетей
Под капотом
  • Бекенд регистрирует девайс в смарт-контракте (Polygon)
  • Welcome-бонус минтится в той же транзакции — газ платим мы
  • В приложении — ссылка на транзакцию в explorer (для любопытных)

Активация завершена · целевое время: до 3 минут от открытия коробки

STEP 05

Режим владения: ничего делать не нужно

Что видит пользователь
  • Дашборд: кольцо прогресса цикла, дни до урожая
  • Живой счётчик секунд — тот же, что на корпусе
  • Носи ручной девайс / повесь картину — всё
Под капотом
  • Время считает блокчейн (от момента регистрации), девайс — зеркало
  • Девайс может месяц лежать без связи — ничего не теряется
  • Cron на бекенде следит, у кого созрела монета → шлёт push
STEP 06

Harvest Day: сбор монеты

Что видит пользователь
  • Push: «Монета созрела. Собери до [дата]»
  • Кнопка «Собрать» пульсирует → «поднеси девайс»
  • Кнопка на девайсе → анимация «+1 TIME» (Genesis: +2)
  • Шер-картка «Мой Harvest №3» + стрик
Под капотом
  • Сервер шлёт случайное число → девайс подписывает его своим ключом → сервер сверяет
  • Подпись каждый раз новая: скопировать или повторить нельзя
  • Клейм в контракте, mint на кошелёк, газ наш

Пропустил цикл: монета сгорает. Приложение говорит об этом прямо, без обвинений: «Цикл №4 сгорел. Следующий урожай — 14 августа». За 3 дня и за 12 часов до дедлайна — напоминания.

Почему монеты сгорают, а не копятся? Если бы награды копились сами, приложение можно было бы не открывать годами — и продукт умер бы тихо: ни привычки, ни события, ни причин вернуться. Сгорание превращает сбор монеты в маленький ритуал раз в месяц. А поскольку у всех покупателей одной волны монеты созревают одновременно, получается общий «день урожая» — готовый повод для постов, конкурсов и новостей без рекламного бюджета.

Ритуал каждые ~29 дней · весь тираж собирает урожай синхронно

STEP 07

Трата TIME в магазине

Что видит пользователь
  • Магазин: скидки на девайсы, дропы, премиум-функции, раффлы
  • «Списать 2 TIME → скидка $20 на картину»
  • История трат
Под капотом
  • Трата = сжигание токена в контракте (redemption-burn)
  • Бекенд выдаёт промокод / открывает функцию
  • Сожжённые TIME исчезают навсегда — дефляционный механизм

Подробнее об экономике — Токеномика v2

A-01Нештатные ситуации

Что, если что-то пошло не так

СитуацияПоведение приложения
Девайс разрядился в нольНичего не потеряно: время считает блокчейн. «Заряди и синхронизируйся» — счётчик на корпусе догонит.
Сбой часов девайса (RTC)Автоматическая синхронизация при подключении. Пользователь видит «Время обновлено», награды не затронуты.
Телефон потерянКошелёк восстанавливается из seed-бекапа. Девайс перепривязывается к восстановленному кошельку через поддержку.
Девайс продан / подаренСценарий перепривязки через поддержку: старый владелец отвязывает, новый активирует. Фаза 3 — самообслуживание.
Нет интернетаДашборд работает на кешированных данных, таймер локальный. Сбор монеты требует сети — кнопка объясняет.
Приложение удаленоБаланс на блокчейне, ничего не сгорает (кроме пропущенных циклов). Поставил заново → восстановил из seed.