Что такое сбор средств (sweep) с адресов платежей
Сбор средств (sweep) — перевод накопленных средств с множества адресов платежей или пополнения на один основной кошелёк.
Когда каждый платёж или каждый клиент получает свой адрес, деньги оказываются разбросаны по тысячам адресов. Чтобы выплатить их, вывести в холодное хранение или просто увидеть общий баланс, их нужно собрать в одно место. Эта операция называется sweep: с каждого адреса отправляется перевод на основной кошелёк.
Главная сложность — комиссии. Каждый перевод стоит газа, а газ платится нативной монетой сети. Адрес, на который клиент отправил только USDT, не может сам перевести эти токены: на нём нет ETH, BNB, TRX, SOL или TON для комиссии. Поэтому перед сбором на адрес сначала отправляют немного нативной монеты (или делегируют энергию в TRON), и только потом переводят токены. Это две транзакции и двойная комиссия на каждый адрес.
Отсюда практические решения. Собирать средства пакетами и в моменты низкой загрузки сети, а не после каждого платежа. Не собирать «пыль» — суммы, которые меньше стоимости сбора. В TRON использовать энергию вместо сжигания TRX. В Bitcoin, где модель UTXO, объединять несколько входов в одну транзакцию. И тщательно следить, чтобы на адресах не оставалось «застрявших» токенов без газа.
Ошибки при самостоятельной реализации: отправить газ на адрес и не довести сбор до конца, неправильно рассчитать комиссию и оставить на адресе остатки, хранить ключи от всех адресов в основном приложении, не вести учёт затрат на сбор. Последнее важно для понимания реальной себестоимости приёма платежей.
В Moonvex сбор средств с адресов и пополнение газа сервис выполняет сам — продавец видит итоговый баланс проекта и не держит нативные монеты на каждом адресе.