не оч понял в чем оно неверное. мы вот именно так и делаем. Если адресов и правда миллионы тогда остается биржевой вариант. деплоить под каждого клиента отдельный контракт, как у биржи. Но это будет стоить кучу дополнительных денег
то есть, у вас есть база адресов клиентов с ключами.
У вас есть общий баланс ваших кошельков, который вы храните.
Проверяете общий баланс раз в 30 секунд, например.
Видите, что баланс изменился и идте циклом по всем адресам, которые у вас есть, проверяя их баланс. Когда находите - начисляете.
И так постоянно?
И это всё крутится на одном сервере? С прямыми запросами к ноде?