On many traditional launchpads, users get allocation by staking a platform token. This way, every user that wants to participate will be guaranteed an allocation via staking. This avoids problems like IDO bots that frontrun fair participants who want to buy into an IDO. For example, on the Binance launchpad, users stake BNB to get allocation. Binance then calculates user allocations based on BNB stakes at various randomly determined snapshot times.