Can we create a HD-Wallet-Contract with a transfer()-method for specific business-logic and make it inheritable or shareable for sub wallets?

Let's say we have this HD-Wallet and sum sub wallets that were created dynamically for our needs:

  - 0xsubwallet1
  - 0xsubwallet2
  - 0xsubwallet3

The HDWallet has a wallet-contract with a transfer()-method (and many other business logic implemented).

So, if one would send some Ether to 0xHDWALLET it would pass the transfer()-method of 0xHDWALLET-Contract.

But if someone would send some Ether to 0xsubwallet1 or 0xsubwallet2, can we implement this wallet contract this way, that these payments would also went through the transfer()-method of the parent 0xHDWALLET without to deploy new contracts with each new sub wallet?

1 Answer 1


I think you’re asking if the subwallet addresses can “do something” other than just accept ether even if they are not smart contracts.

If that’s what you’re asking, then no. They can’t.

Non-smart-contract addresses (regular accounts) can’t “do” anything other than send transactions to other addresses or receive them.

If that’s not what you’re asking, let me know and I will withdraw this answer.

  • What we want to do is to offer sub-accounts underneath a big company account (which would be best a HD Wallet IMHO). All these sub accounts can receive Ether but would go through a one-time-deployed smart contract that will do further logic and checks like Whitelisting. Hope to be more clear now :)
    – delete
    May 13, 2018 at 14:10
  • 1
    As long as you have a smart contract in the mix at some point, then you can do anything you want. If there’s no smart contract, you can’t do anything other than receive or send either. May 13, 2018 at 14:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.