CashoutGuard

Общие кошельки: как ловить мультиаккаунты, которые выводят крипту на один адрес

Ферма может подделать устройства, IP и email, но деньги всё равно должны прийти туда, где она сама ими распоряжается. На крипто-сайтах заработка это короткий список кошельков. В этом руководстве показано, как по адресу выплат найти ферму, которая стоит за множеством мелких аккаунтов.

Коротко

Сравнивайте адрес выплат в каждом выводе с адресами других ваших аккаунтов, предварительно нормализовав его: несколько аккаунтов, которые выводят на один адрес или на один email FaucetPay, почти всегда принадлежат одному человеку. Биржевые адреса с memo или destination tag сравнивайте как пару «адрес + memo», выводы на общие адреса задерживайте для проверки и принимайте решение по всему кластеру.

Самый сильный сигнал
Два и более аккаунта выводят на один и тот же кошелёк или email FaucetPay.
Сначала нормализуйте
Уберите пробелы, сравнивайте без учёта регистра там, где это допускает блокчейн, и нормализуйте email для выплат.
Депозиты на биржах
Один и тот же адрес с разными memo или тегами принадлежит разным людям: сравнивайте адрес вместе с memo.
Честное решение
Задержите вывод, проверьте кластер и выплатите одному аккаунту, если это действительно семья.

Почему кошелёк выдаёт ферму

Краны, буксы (PTC) и крипто-приложения для заработка выплачивают множество мелких сумм множеству аккаунтов. Ферме именно это и нужно: десятки или сотни аккаунтов, каждый забирает понемногу, и каждый выглядит как обычный пользователь. Устройства можно эмулировать, IP — арендовать, а email — генерировать тысячами.

С выплатой так не получится. Каждый аккаунт должен отправить свой баланс на адрес, который контролирует фермер, а вести сотни кошельков — это работа. Поэтому большинство ферм выводят на несколько адресов, часто по одному на каждый способ выплаты, и месяцами используют их повторно. Стоит сравнить адреса выплат у разных аккаунтов, и вся ферма сводится к нескольким кластерам.

Что считать одним и тем же адресом

Сравнивайте адреса после нормализации, иначе мелкие изменения скроют совпадение. Уберите пробелы и невидимые символы и сравнивайте так, как подходит для конкретного способа выплаты.

Способ выплатыЧто сравниватьНа что обратить внимание
Bitcoin, Litecoin и DogecoinАдрес в том виде, в каком его ввели, без пробеловОдин кошелёк может генерировать новые адреса, но на общих адресах всё равно попадаются ленивые фермы
Ethereum, BNB Chain, USDT в EVM-сетяхHex-адрес в нижнем регистреЗаглавные буквы контрольной суммы меняют внешний вид адреса, но не сам адрес
USDT в сети Tron (TRC20)Адрес в том виде, в каком его ввелиФермы часто выводят со всех аккаунтов на один депозитный адрес биржи
TON, XRP, XLM, BNB с memoАдрес вместе с memo или destination tagБиржа использует один адрес для тысяч клиентов, а различает их по memo
FaucetPay и другие микрокошелькиEmail после нормализацииТочки и плюс-алиасы в адресах Gmail (john.doe+2@gmail.com — это тот же ящик, что и john.doe@gmail.com)
PayPalEmail после нормализацииТе же алиасы, что и выше

Если ваш сайт принимает memo или тег, храните и сравнивайте адрес вместе с ним. Иначе все клиенты одной биржи будут выглядеть как один человек, а это самое частое ложное срабатывание при сравнении кошельков.

Какие сигналы идут в паре с общим кошельком

  • Общий адрес выплат. Два и более аккаунта на вашем сайте выводят на один и тот же нормализованный адрес. Чем больше аккаунтов, тем сильнее сигнал.
  • Новый аккаунт — быстрый вывод. Фермерские аккаунты набирают минимальную сумму и выводят её в первые же сутки, а потом затихают.
  • Частые выводы. Много выводов на один адрес за несколько часов с аккаунтов, каждый из которых заработал совсем немного.
  • Одно устройство или одна сеть. Общие кошельки обычно идут вместе с общими устройствами или одним и тем же небольшим набором IP, и это подтверждает кластер.
  • Одни и те же адреса снова и снова. Они неделя за неделей всплывают в новых аккаунтах после того, как вы забанили старые.

Чтобы принять решение по общему кошельку, сигналы устройства или сети не обязательны, но вместе они показывают, насколько велик кластер и с каких аккаунтов начать проверку.

Проверьте свою историю за пять минут

Насколько велика проблема на вашем сайте сегодня, покажет один запрос к таблице выводов. Сгруппируйте выплаченные выводы за последние 90 дней по нормализованному адресу и посчитайте, сколько разных аккаунтов стоит за каждым из них.

SELECT LOWER(TRIM(payout_address)) AS address,
       COUNT(DISTINCT user_id)      AS accounts,
       COUNT(*)                     AS cashouts,
       SUM(amount)                  AS paid
FROM withdrawals
WHERE status = 'paid' AND created_at > NOW() - INTERVAL 90 DAY
GROUP BY address
HAVING accounts > 1
ORDER BY paid DESC
LIMIT 50;

Подставьте названия таблицы и колонок из своего скрипта. Каждая строка — это один адрес, общий для нескольких аккаунтов; колонка paid показывает, сколько эти аккаунты вывели. На большинстве кранов и PTC-сайтов в верхних строках оказывается горстка адресов, общих для десятков аккаунтов, и на них приходится значительная доля всех выплат.

Выполните тот же запрос по колонке с email для выплат через FaucetPay и PayPal, предварительно убрав в коде точки и плюс-алиасы Gmail, а затем ещё раз только за последние 7 дней, чтобы понять, работает ли ферма до сих пор.

Как действовать, не задевая реальных пользователей

  1. Задерживайте, а не отклоняйте. Поставьте вывод на холд и сохраните баланс. Заплатить позже можно всегда, а отправленную крипту уже не вернуть.
  2. Смотрите на весь кластер. Откройте каждый аккаунт с этим адресом вместе с его устройствами, IP и датами регистрации. Ферма выглядит как множество аккаунтов, созданных почти одновременно, и каждый из них вывел ровно один раз.
  3. Делайте исключение для настоящих семей. Двое членов одной семьи иногда пользуются одним кошельком. Если аккаунты ведут себя нормально и созданы с большим разрывом во времени, выплатите одному и попросите второго указать собственный адрес.
  4. Блокируйте адрес, а не только аккаунты. Добавьте адрес в блоклист, чтобы следующий аккаунт, который фермер заведёт с этим адресом, задерживался уже на первом выводе.
  5. Объясняйте причину. Короткое сообщение о том, что адрес уже используется другим аккаунтом, подталкивает честных пользователей его исправить, а фермерам даёт понять, что здесь им больше ничего не светит.

Как CashoutGuard это автоматизирует

Передавайте payout_address и payout_method с каждым событием cashout в /v1/evaluate. CashoutGuard нормализует адрес (убирает пробелы, переводит в нижний регистр, а в email убирает точки и плюс-алиасы Gmail) и хранит только его хеш, привязанный к вашему сайту. Когда тот же адрес указывает второй аккаунт, вывод получает payout_address_shared с числом аккаунтов, а связанные аккаунты появляются в разделе «Фрод-кольца».

Если ваши пользователи выводят на биржу, передавайте адрес и memo вместе в поле payout_address, чтобы разные клиенты одной биржи никогда не совпадали. Новые сайты стартуют в теневом режиме, а в режиме Enforce можно задерживать только выводы и никогда не банить самого пользователя. Код — в руководстве по интеграциям, остальные проверки — в чек-листе по выводам.

Частые вопросы

Хранится ли адрес кошелька?

Только хеш нормализованного адреса, привязанный к вашему сайту: этого достаточно, чтобы сравнивать его с другими вашими аккаунтами, не храня сам адрес.

А если ферма заводит новый адрес для каждого аккаунта?

Тогда сигнал кошелька молчит, и проверку вытягивают сигналы устройства, сети и поведения. Но большинство ферм всё равно используют адреса повторно, потому что выводить средства с сотен кошельков — это время и комиссии.

Стоит ли блокировать каждый общий адрес?

Лучше задерживайте и проверяйте. Большую часть ложных совпадений дают семьи и депозитные адреса бирж без memo, а беглый взгляд на кластер позволяет их отличить.

Читайте также