Automatically withdraw tokens to management wallet.


The script only works with :

  • Ledger hardware wallets
  • Hot wallets



Create a wallets.json file with the parameters specified in wallets-example.json. You can input as many nodes as you want.


(optional) Set minimumWithdrawalAmount in config.json to withdraw only if available tokens are above a certain threshold (default is 10)

Management wallet setup :

  • Ledger hardware wallets :
    • Set managementWallet.ledger.enabled : true in config.json
    • Set managementWallet.ledger.bip32path in config.json. This path is used to derive the wallet keys with which the transactions will be signed. You can find the path in the Ledger Live app : accounts -> select management wallet account -> wrench icon -> advanced -> value of “freshAddressPath”
  • Hot wallet :
    • Set managementWallet.ledger.enabled : false in config.json
    • Set managementWallet.hotWallet.enabled : true in config.json
    • Set managementWallet.hotWallet public and private keys

Add RPCs in config.json. There are a few free rpcs that don’t require making accounts :

I would suggest to create free private rpcs though as in my experience they are faster and more reliable :

How to run

Install dependencies before running :

npm install

Connect your hardware wallet and select ethereum app. Make sure blind signing is enabled in the ethereum app settings.

npm start


View Github