Разработчики
Манжос Сергей & Андрей Шевченко
Андрей Шевченко — Infrastructure Engineer с опытом работы в DevOps и блокчейн-инфраструктуре. Специализируется на автоматизации инфраструктуры, построении CI/CD-процессов, настройке мониторинга, работе с Terraform, Ansible, Docker, Kubernetes, Nomad, Prometheus и Grafana. Имеет практический опыт поддержки Chainlink-сервисов, RPC-нод, валидаторов, bare-metal и cloud-инфраструктуры.
Сергей Манжос — Linux System Administrator, DevOps и Infrastructure Support Engineer с опытом работы в системном администрировании, автоматизации, мониторинге и поддержке высоконагруженной blockchain-инфраструктуры. Специализируется на Linux, Docker, Ansible, Prometheus, Grafana, GitLab CI/CD, Terraform, VPN, RPC-нодах, Chainlink-инфраструктуре и AVS-проектах. Имеет практический опыт работы с bare-metal и cloud-серверами, построением систем мониторинга, реагированием на инциденты 24/7, оптимизацией инфраструктуры и обеспечением стабильной работы production-сервисов.
Коротко о главном
W3Fans — это self-hosted платформа подписок и приватного контента, построенная на технологиях Web3. Если объяснить простыми словами: представьте себе площадку в духе OnlyFans или Patreon, где авторы публикуют контент, а подписчики за него платят. Но с одним принципиальным отличием — здесь нет ни паролей, ни банковских карт, ни посредника, который держит ваши деньги у себя.
Вместо логина и пароля пользователь входит через криптокошелёк (MetaMask, Trust Wallet и десятки других): сайт просит подписать короткое сообщение — это бесплатно и не отправляет ничего в блокчейн, — а сервер по подписи понимает, что перед ним именно владелец кошелька.
Вместо оплаты картой деньги идут напрямую от зрителя к автору через смарт-контракт. Причём в один клик и одной транзакцией сумма автоматически делится: бóльшая часть мгновенно уходит создателю на его кошелёк, а комиссия платформы — на кошельки платформы. Никаких «выводов средств через 30 дней», никакой «общей кубышки», которую можно потерять или заморозить.
W3Fans сводит всё это в одно привычное и понятное окно: лента постов, профили авторов, личные сообщения, прямые эфиры, премиум-контент и чаевые — но под капотом всё это работает на блокчейне.
Зачем вообще нужен такой проект
Классические платформы для авторов (OnlyFans, Patreon, Boosty и подобные) устроены так, что между создателем и его аудиторией всегда стоит компания-посредник. Она:
- держит деньги авторов у себя и выплачивает их с задержкой;
- может в любой момент заблокировать аккаунт, заморозить выплату или поменять правила;
- берёт высокую комиссию (часто 20–50%);
- хранит платёжные данные пользователей у себя — а значит, является лакомой целью для взлома.
W3Fans решает эти проблемы по-другому:
- Деньги идут напрямую. Зритель платит — создатель получает свою долю в той же транзакции. Платформа физически не хранит средства пользователей.
- Нет «банковской» личности. Вход — это подпись кошельком. Нет базы паролей, которую можно украсть.
- Прозрачная комиссия. Размер комиссии зашит в смарт-контракт и виден всем. Технически она не может превысить жёсткий потолок в 30% — это ограничение нельзя обойти даже владельцу контракта.
- Цены — в долларах, оплата — в крипте. Создатель указывает цену в долларах ($10), а система сама пересчитывает её в эквивалент ETH по «живому» курсу в момент оплаты. Создатель получает понятную сумму, а не «10 долларов по курсу четверга».
Главная идея: вернуть автору контроль над собственными деньгами и аудиторией, убрав из цепочки посредника, которому нужно «доверять».
Как устроен вход — авторизация кошельком
В W3Fans нет ни регистрации по email, ни паролей. Вместо этого используется технология Sign-In With Ethereum.
Происходит это так:
- Пользователь заходит на сайт и нажимает «Connect Wallet».
- Открывается красивая модалка выбора кошелька (под капотом — библиотека Reown AppKit, бывший WalletConnect). Можно выбрать MetaMask, мобильный кошелёк через QR-код, Coinbase и десятки других.
- Кошелёк передаёт сайту публичный адрес пользователя.
- Сайт показывает короткое сообщение вида
Sign in to W3Fans / Nonce: <случайный код>и просит его подписать. - Пользователь подтверждает подпись в кошельке — это бесплатно и не является транзакцией, деньги не двигаются.
- Сервер по подписи восстанавливает адрес, убеждается, что подписал именно владелец, и выдаёт защищённый токен сессии.
Случайный nonce каждый раз новый — это защита от повторного использования старой подписи (replay-атаки).


После первого входа пользователь один раз выбирает роль: обычный пользователь или создатель контента. Чтобы стать создателем, недостаточно просто нажать кнопку — нужно пройти верификацию (KYC): заполнить анкету, приложить паспорт и селфи с документом. Заявку вручную рассматривает администратор. Это защищает платформу от анонимных нарушителей и делает её пригодной для серьёзной работы.
Две роли — два сценария использования
Создатели (Creators)
Создатель — это автор, который зарабатывает на своём контенте. После прохождения верификации ему открываются возможности:
- Публиковать посты трёх типов:
- Открытые — видны всем.
- Только для подписчиков — видны тем, кто оформил подписку.
- Премиум (pay-per-view) — каждый такой пост разблокируется за отдельную плату. До разблокировки зритель видит только размытое превью с paywall.
- Проводить прямые трансляции (LIVE) — как публичные, так и приватные 1:1, со встроенным чатом и модерацией.
- Принимать платную подписку на свой профиль (цена задаётся в долларах).
- Получать чаевые (TIP) — через профиль, личные сообщения или прямо во время стрима.
- Гибко настраивать монетизацию: payout-адрес (куда приходят деньги), цену подписки, приватность профиля, политику комментариев.
Пользователи (Users)
Обычный пользователь потребляет контент:
- подписывается на авторов бесплатно (follow);
- оформляет платную подписку;
- разблокирует премиум-посты;
- отправляет чаевые понравившимся создателям;
- общается в личных сообщениях, смотрит стримы, сохраняет посты в коллекции (закладки).
Как происходит оплата — шаг за шагом
Это сердце проекта, поэтому разберём полный цикл на примере: пользователь хочет разблокировать премиум-пост за $10 в USDC (стейблкоин, привязанный к доллару).
Шаг 1. Создание платёжного намерения. Пользователь нажимает «Разблокировать за $10». Бэкенд проверяет, что пост действительно премиум, берёт payout-адрес автора, и создаёт «платёжный интент» — запись со статусом PENDING. Цена в долларах фиксируется как «snapshot», чтобы её нельзя было подменить.
Шаг 2. Конвертация в крипту по живому курсу. Чтобы понять, сколько это в ETH, система обращается к оракулу Chainlink ETH/USD — он даёт актуальный курс прямо из блокчейна. Если курс «протух» (оракул недоступен) — система не выпустит платёж по неактуальной цене, а честно вернёт ошибку.
Шаг 3. Подготовка кошелька. Фронтенд проверяет, что кошелёк подключён к нужной сети. Для оплаты токеном (USDC) сначала нужно дать контракту разрешение списать токены (approve) — это отдельная транзакция, которую делают один раз.
Шаг 4. Оплата. Пользователь подтверждает транзакцию в кошельке. Транзакция уходит в блокчейн.
Шаг 5. Атомарный сплит в смарт-контракте. Контракт W3FansPayments в той же транзакции:
- проверяет, что токен разрешён, создатель указан, сумма не нулевая;
- считает комиссию платформы (на старте 15%);
- мгновенно переводит создателю его долю (8.5 USDC из 10);
- делит комиссию (1.5 USDC) между кошельками платформы;
- выпускает событие
Paymentс пометкой типа (чаевые / подписка / разблокировка).
Шаг 6. Индексатор ловит платёж. На бэкенде работает отдельный фоновый процесс — платёжный индексатор. Он постоянно читает on-chain события, находит наш платёж (после 2 подтверждений блока — защита от отката цепочки), проверяет, что сумма и токен совпадают со «snapshot», и переводит запись в статус CONFIRMED.
Шаг 7. Побочные эффекты. После подтверждения система автоматически:
- открывает доступ к премиум-посту;
- (для подписки) продлевает платную подписку;
- (для чаевых в чате) создаёт системное сообщение «чаевые»;
- шлёт автору уведомление «Пользователь X купил ваш пост за $10»;
- через WebSocket мгновенно обновляет интерфейс — пользователь видит «Готово!», и пост открывается без paywall.
Вся эта механика работает одинаково для трёх типов платежей: чаевые (TIP), подписка (SUBSCRIPTION) и разблокировка контента (CONTENT_UNLOCK).
Уникальная логика платежей — то, чего нет у «обычных» платформ
Это одна из самых сильных сторон проекта, и она заслуживает отдельного объяснения простым языком.
На классических платформах деньги пользователя сначала попадают на счёт компании, а уже потом (с задержкой и по правилам компании) выплачиваются автору. Это создаёт три проблемы: задержки, риск заморозки и «общую кубышку», которую могут украсть или арестовать.
W3Fans работает иначе — здесь встроен мгновенный атомарный сплит:
- Пользователь платит, и в одной и той же транзакции деньги сразу делятся между создателем и платформой.
- На адресе контракта не остаётся денег — если контракт взломают, красть нечего.
- Создатель видит в блокчейн-эксплорере (Etherscan) точную, прозрачную запись: «8.5 USDC — мне, 1.5 USDC — платформе». Нет ситуации «обещали выплатить, но не выплатили».
- Комиссия зашита в код и ограничена потолком 30% — это нельзя обойти.
Дополнительные «предохранители», встроенные в контракт:
- Pausable — в случае атаки или бага платформа может мгновенно приостановить приём платежей.
- ReentrancyGuard — защита от классической атаки повторного входа во время перевода.
- Ownable2Step — передача владения контрактом в два шага, чтобы случайно не отдать управление на «мёртвый» адрес.
- Запрет случайных переводов — контракт отклоняет любые ETH, присланные «просто так», вне платёжной логики.
И вишенка на торте: владельцем контрактов является не один человек, а мультиподписной кошелёк Safe — любое важное изменение (комиссия, пауза, реестр админов) требует подписи нескольких владельцев. Один скомпрометированный ключ не сольёт контроль над платформой.
Ещё одна Web3-фишка — администраторы живут в блокчейне
В обычных проектах список администраторов — это строчка в базе данных, которую теоретически можно тихо подменить. В W3Fans источник истины «кто администратор» — отдельный смарт-контракт W3FansAdmins.
Бэкенд при каждом запросе сверяет кошелёк пользователя с этим ончейн-реестром (с кэшем на 60 секунд, чтобы не перегружать сеть). Назначить или снять администратора можно только через транзакцию от мультиподписного Safe — то есть прозрачно и под коллективным контролем.
Что видит пользователь — интерфейс и возможности
Платформа двуязычная (русский и английский, переключение на лету) и построена как современное одностраничное приложение на React 19.
Лента и контент. Главная страница — лента постов: можно смотреть «всё» или «только подписки». Посты поддерживают лайки, комментарии с тредами и реакциями-эмодзи, репорты, закрепление. Премиум-посты и посты «для подписчиков» аккуратно закрыты заглушками.
Личные сообщения. Полноценный чат в реальном времени: вложения (фото/видео), реакции, цитирование сообщений, индикатор «печатает», блокировки и чаевые прямо в переписке.

Прямые трансляции. Создатель может выйти в эфир (публичный или приватный 1:1). Видео идёт через WebRTC, рядом — чат с модерацией, чаевые с анимацией «летящих монеток», режим «картинка в картинке» (плавающее окно).
Каталог создателей. Отдельная страница со всеми авторами: сортировки, поиск, быстрый follow.
Модерация и админка. Многоуровневая система: модераторы обрабатывают репорты, блокируют и замораживают нарушителей, эскалируют сложные случаи администраторам. Админы управляют пользователями, ролями, заявками на верификацию, поддержкой.



Уведомления и поддержка. Категоризированные уведомления (приходят мгновенно через WebSocket и сохраняются в базе), встроенная система тикетов в поддержку с вложениями.
Как защищён проект
Безопасность здесь — не «галочка», а сквозной принцип:
- Приватные файлы под ACL. Загруженные файлы (медиа постов, паспорта из заявок, KYC-документы) не лежат в открытом доступе. Каждый запрос к файлу проверяется: имеет ли именно этот пользователь право его видеть. Премиум-медиа не утечёт по прямой ссылке.
- Проверка загрузок по «магическим байтам». Файл проверяется не по расширению, а по реальной сигнатуре содержимого. Если кто-то замаскировал исполняемый файл под картинку — он будет удалён.
- Rate-limiting. Лимиты на вход, подпись и тяжёлые операции — защита от перебора и DDoS.
- JWT в HttpOnly-cookie + заголовок. Сессия защищена от кражи через XSS. Бан пользователя моментально отзывает доступ.
- Security-заголовки на уровне Nginx: HSTS, CSP, защита от clickjacking и MIME-sniffing.
- Изоляция сервисов в Docker, база данных доступна только с localhost и наружу не торчит.
- Автоматический TLS через Let’s Encrypt с авто-обновлением сертификатов.
Сильные стороны проекта — итоговый список
- Вход без паролей. Авторизация подписью кошелька — нет базы паролей, которую можно украсть.
- Деньги напрямую автору. Атомарный сплит платежа в одной транзакции, без «общей кубышки» и задержек выплат.
- Прозрачная комиссия с потолком. Размер комиссии зашит в контракт и не может превысить 30%.
- Цены в долларах, оплата в крипте. Конвертация по живому курсу через оракул Chainlink — стабильность для создателя.
- Поддержка ETH и стейблкоинов (USDC на старте, расширяемо).
- Три типа контента: открытый, для подписчиков, премиум (pay-per-view).
- Прямые трансляции на WebRTC — публичные и приватные, с чатом и чаевыми.
- Реальное время — чат, уведомления, статусы платежей, индикатор «печатает».
- KYC-верификация создателей — защита от анонимных нарушителей.
- Ончейн-реестр админов под мультиподписным Safe — коллективный контроль.
- Строгая защита приватных файлов (ACL) и проверка загрузок по сигнатуре.
- Платёжный индексатор с идемпотентностью — никаких двойных зачислений и потерянных платежей.
- Многоуровневая модерация — модераторы, эскалация, админы.
- Двуязычный интерфейс (RU / EN) с переключением на лету.
- Self-hosted на собственных серверах — полный контроль над данными.
- Автоматический деплой с healthcheck’ами, миграциями и smoke-пробами безопасности.
- Встроенные «предохранители» контракта — pause, reentrancy guard, защита от случайных переводов.
Кому это нужно
W3Fans будет полезен:
- Создателям контента, которые устали от высоких комиссий, задержек выплат и риска внезапной блокировки на классических платформах. Здесь деньги приходят напрямую и мгновенно.
- Аудитории Web3, которая ценит оплату криптой, приватность и отсутствие «банковской» бюрократии.
- Командам и предпринимателям, которым нужна готовая, безопасная и масштабируемая база для запуска собственной платформы подписок на блокчейне.
- Разработчикам и инженерам, которым интересен зрелый пример того, как Web3-платежи, классический веб и реальное время уживаются в одном продакшн-проекте.
В сухом остатке
W3Fans — это полноценная Web3-платформа подписок, которая:
- избавляет вход от паролей, заменяя его подписью кошелька;
- отправляет деньги напрямую создателю одной прозрачной транзакцией с автоматическим сплитом комиссии;
- считает цены в долларах, а платит в крипте по живому курсу;
- отдаёт контроль над администрированием в блокчейн под мультиподпись;
- при этом остаётся привычной и удобной: лента, профили, чат, стримы, премиум-контент, уведомления;
- и построена по-инженерному добротно: изоляция сервисов, строгая безопасность файлов, идемпотентные платежи, автоматический деплой с проверками.
Современный интернет всё больше движется в сторону моделей, где пользователь и создатель владеют своими данными и деньгами напрямую, без посредника, которому нужно слепо доверять. W3Fans — это зрелый и продуманный пример такого подхода в сегменте платформ для авторов.

