I am implementing a practice project on the topic of token pre-sale. Currently, I have created the project in such a way that, for example, a user who is going to participate in the token pre-sale must register on the site and As soon as users register on the site, an HD Wallet will be created on the site , user can charge wallet in the site with BNB currency and buy tokens in the pre-sale.

Of course, I have included a whitelist in the token smart contract that only users whose wallet address is in the project's whitelist can participate in the pre-sale, therefore, before purchasing, they must register a request to be added to the project's whitelist.

I wanted to know if this method I used is technically and logically correct?

1 Answer 1


No that's not good.

If the site generates the wallet for the user, it either has to send the corresponding private key to the user or manage the wallet itself. Both are bad options for various reasons.

Unless you really want to run a custodial wallet service (I doubt you want that), the user should be the one generating the wallet. That's the only way how the private key never needs to be transmitted anywhere.

This is why we have browser wallets: so that it would be easy for users to generate a new wallet and use it.

  • Thank you very much for your help
    – Ali
    Commented Aug 21, 2023 at 5:32

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.