I am implementing a payment system that assigns each user a public key (for seamless ETH transfers). I want to aggregate these funds in a single wallet so my liquidity is not fragmented. One way to do this is to transfer funds from each wallet to the one that I am mainly using. This method is costly even through batching the transactions. Is it possible to implement a system on Ethereum where transferring ETH to an address automatically transfers it to another one?
I know this can be implemented via a smart contract (and modifying the receive function) but if I want to create a smart contract wallet for each of my users my funds can be drained by a simple DoS attack.
What else can I do?