W3Fans —Платформа для монетизации контента без цензуры с мгновенным выводом средств


Разработчики

Манжос Сергей & Андрей Шевченко

Андрей Шевченко — 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 — это зрелый и продуманный пример такого подхода в сегменте платформ для авторов.

Комментарии отключены.