← UNUM Site Cabinet Фича 1 · Приоритетная фича 1. Мультикошелёк: балансы и транзакции в одном дашборде
Содержание

Приоритетная фича 1. Мультикошелёк: балансы и транзакции в одном дашборде

Зарегистрированный пользователь подключает к кабинету любое количество своих крипто-кошельков и видит по ним остатки и историю транзакций — в разрезе кошельков и в разрезе криптовалют по всем кошелькам сразу. Всё собрано в функциональный дашборд с фильтрами и несколькими видами. Это первая из двух приоритетных фич личного кабинета theunum.io.

1. Ценность и место в продукте#

Кабинет перестаёт быть «витриной новостей с настройками» и становится местом, где пользователь видит своё реальное состояние. Это база для всего остального: персональная лента, алерты и AI-ассистент (приоритетная фича 2) получают контекст «чем человек на самом деле владеет», а не абстрактный вотчлист. Портфель ручного ввода из ранних концепций не отменяется — подключённые кошельки становятся его автоматическим источником, ручной ввод остаётся для CEX-балансов и внебиржевых активов.

Ключевая рамка: только чтение. Кабинет никогда не запрашивает приватные ключи и сид-фразы, не подписывает транзакции и не выводит средства. Подключить кошелёк = сообщить кабинету публичный адрес. Это резко снижает и техническую сложность, и регуляторный риск, и барьер доверия у пользователя.

2. Подключение кошельков#

Три способа добавить кошелёк, от простого к точному:

  1. Вставить адрес. Пользователь копирует публичный адрес (EVM 0x…, BTC, SOL, TRON, TON), кабинет определяет сеть автоматически или уточняет. Работает для любого кошелька, включая аппаратные и чужие watch-only адреса.
  2. WalletConnect / браузерное расширение. Подключение через WalletConnect v2 или инжектированный провайдер (MetaMask и совместимые) — адрес подтягивается сам, меньше ошибок копирования. Запрашивается только адрес, никаких подписей транзакций.
  3. Подтверждение владения (опционально). Бесплатная подпись сообщения (personal_sign) помечает кошелёк как «верифицированный». Для просмотра балансов не требуется; нужна как основа будущих фич, где важно доказанное владение (закрытые разделы, персональные лимиты, соцфункции).

Пользовательские атрибуты кошелька: собственное имя («Холодный Ledger», «Трейдинг»), цвет/иконка, флаг «скрыть из общей сводки». Кошельков — сколько угодно; мягкий лимит (например, 50) только против абьюза.

Сети на старте: Ethereum + основные EVM L2 (Arbitrum, Base, Optimism, BSC, Polygon), Bitcoin, Solana, TRON. Этот набор покрывает подавляющую долю розничных портфелей. TON и прочие — следующей волной, архитектура должна позволять добавлять сеть конфигом, а не переписыванием.

3. Данные: откуда берутся балансы и транзакции#

Собственные индексаторы блокчейнов не строим — это отдельный бизнес. Но и платный агрегатор (Covalent, Moralis, Zerion, Alchemy) не обязателен: он покупает лишь удобство — один API на все сети с уже размеченными транзакциями. MVP собирается целиком на бесплатных источниках, по адаптеру на семейство сетей:

Цена подхода — не деньги, а инженерное время: вместо одного унифицированного API — четыре адаптера; разметку типов транзакций (перевод, свап, комиссия) делаем сами (свап определяется группировкой трансферов внутри одного хэша); под rate-лимиты нужна аккуратная очередь с приоритетами. Компенсируется это тем, что тяжёлая работа одноразовая: история кошелька грузится при подключении и кэшируется в своём Postgres, дальше — только инкременты. Слой нормализации проектируем так, чтобы платный агрегатор можно было подключить позже как ещё один взаимозаменяемый источник — если рост аудитории упрётся в бесплатные лимиты, это решается деньгами в любой момент, а не переписыванием.

Схема работы:

4. Дашборд: виды и фильтры#

Один экран «Портфель» с переключаемыми видами, а не набор разрозненных страниц.

Сводка (верхняя полоса). Суммарная стоимость всех кошельков, изменение за 24ч/7д/30д, число кошельков и активов. Кнопка-глаз «скрыть суммы» (режим для публичных мест).

Вид «По криптовалютам» — основной. Таблица активов, агрегированных по всем подключённым кошелькам: актив, суммарное количество, цена, стоимость, доля портфеля, изменение за период, мини-спарклайн. Раскрытие строки показывает разбивку: в каких кошельках и сетях лежит этот актив. Пыль (< $1) сворачивается в одну строку «прочее».

Вид «По кошелькам». Карточки или таблица кошельков: имя, сети, стоимость, изменение, топ-активы. Клик — экран кошелька с его активами и его транзакциями.

Распределение. Донат/трипмэп по активам и по сетям — структура портфеля с первого взгляда.

История стоимости. График суммарной стоимости портфеля во времени (с момента подключения кошельков; ретроспективу до подключения не обещаем — честнее и на порядок дешевле).

Транзакции. Единая лента по всем кошелькам с фильтрами: кошелёк, сеть, актив, тип операции, период, поиск по хэшу/адресу. Каждая строка — ссылка на эксплорер. Экспорт выборки в CSV.

Все фильтры (набор кошельков, период, валюта отображения) действуют глобально на все виды и сохраняются между сессиями. Мобильная вёрстка обязательна: портфель смотрят с телефона.

5. Этапность#

MVP: добавление кошельков адресом и через WalletConnect, EVM-набор + Bitcoin + Solana + TRON, балансы, агрегированный вид по активам, вид по кошелькам, лента транзакций с фильтрами, оценка в USD, кэш и фоновая синхронизация.

Волна 2: график истории стоимости, распределение, CSV-экспорт, верификация владения подписью, RUB/EUR, TON и добавление сетей по запросам пользователей.

Сознательно не в первом контуре: PnL и средняя цена входа (требует надёжной истории цен на момент каждой транзакции — делать после стабилизации модели транзакций), DeFi-позиции (стейкинг, LP, lending), NFT, налоговые отчёты, интеграция CEX по API-ключам. Каждый из пунктов — отдельная фича со своей ценой; тащить их в первый релиз — верный способ его не выпустить.

6. Риски и как их гасим#

7. Метрики успеха#

Доля зарегистрированных, подключивших ≥1 кошелёк; медианное число кошельков на пользователя; возвраты в дашборд (DAU/WAU по экрану портфеля); доля сессий с использованием фильтров/переключением видов; время от регистрации до первого подключённого кошелька.