I'd like to make raising funds in ETH as easy as possible. This is the flow that I'm imagining for my average user:

1) User visits my ICO page

2) They download a key and address file generated in-browser

3) They're also shown a second address that says "send ETH here to convert it to a token in the wallet you just downloaded"

4) (Important) because the user is only a trader, they go to their exchange page and type in the address from step 3

5) When the exchange processes the withdrawal, they get tokens from the address in step 2

What I'm asking is how to optimize this process from a smart contract perspective. The way I see it, each user needs a "token receipt" address (to receive their tokens; downloaded from my page) and a "eth receiving" address (to send ETH to from the exchange; already recognized by the smart contract). But, while "token receipt" addresses can be generated on the fly, there should be "eth receiving" addresses already in the smart contract (so that a user can load the page and already have an eth receiving address assigned to them).

I guess my first question is, are there any existing smart contract libraries already available that enable the overrall scope of this question? No need to re-invent the wheel.

If there aren't, what's the best approach to do? Launch the smart contract with 10,000 "eth receiving" addresses? Is there any way I can automatically forward money sent to the "Eth Receiving" addresses to a single multi-sign address? (To protect funds better and not have 10000 of keys for each eth transaction received).

1 Answer 1


Check out Open Zeppelin. They have various libraries for crowdsales, tokens, etc.

  • Aren't you a member of that famous neuroscience lab Commented Sep 24, 2018 at 23:22

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.