I have a requirement to have 1000+ ethereum addresses, which in fact used to store small amounts of various ERC20 tokens. I want to move all these crypto assets in all these 1000+ wallets into a single address.
If I could create a pool account with a single private key, it was the best method, but based on my current understanding on ethereum, I believe that it's not possible with ethereum. Every address is associated with another private key.
Now, note that all these 1000+ account has no ethereum in it. So in order to transfer ERC20 token to a common account, I need to transfer ETH in first to these 1000+ accounts for gas price for the ERC20 token transfer for each of these accounts.
Which means I need to transfer in ETH to account for gas, then transfer out ERC20 token to the pool account with the small amount of ETH transferred in.
Though it might work, it seems to be very complicated and a lot of ETH unnecessarily being wasted for gas while I am still in control of all these 1000+ accounts.
Is there any better or easier way for me? Like exchanges do? How can I internally transfer without a gas price? Or is there a way (even a complicated way) that I can have a pool account having single private key with multiple addresses?
Can anyone help?