An Ethereum launchpad for token sales is a set of Solidity contracts that sells a new ERC-20 token for ETH or stablecoins, deciding who may buy, releasing the tokens over time and seeding a DEX pool. This guide covers the contract set, fair allocation methods, launch-day bots, the choice between mainnet and layer 2, and the build effort.
Mainnet or layer 2
On Ethereum mainnet, each buyer pays gas to register, contribute and claim, and for a small allocation, those fees can cost more than the tokens are worth. Rollups such as Arbitrum, OP Mainnet, Base and ZKsync run the same Solidity code at much lower fees and settle on Ethereum. How much of Ethereum's security a rollup inherits depends on its design, such as its fraud or validity proofs.
Rollup data costs fell further after the Fusaka upgrade in December 2025. Rollups post their transaction data to Ethereum in "blobs", a cheaper data type added in 2024. Fusaka added PeerDAS, which lets each node store only part of the blob data, and it lets Ethereum raise the number of blobs per block in small steps, without waiting for a full upgrade.
Many projects issue the token on mainnet, where liquidity is deepest, and run the sale on a layer 2 that has an official bridge, while others launch on the layer 2 where their community already holds funds. The layer 2 scaling explainer compares the rollup designs.
The Ethereum launchpad contract set
| Contract | Purpose | Ethereum building blocks |
|---|---|---|
| Token | Holds the project's ERC-20 balances | OpenZeppelin ERC-20 with EIP-2612 permit, and no owner mint function |
| Staking and tiers | Lets users lock a platform token to earn allocation weight | Weight based on a balance snapshot or on how long tokens were staked, so staking at the last minute earns nothing |
| Allow-list | Records who may contribute and how much | A Merkle root of address and cap pairs, or EIP-712 allocations signed by a KYC backend |
| Sale | Accepts contributions, enforces caps and the sale window, and handles refunds | Refunds that users claim themselves, SafeERC20 for stablecoins, and reentrancy guards |
| Lottery (optional) | Picks random winners from registered users | Verifiable randomness such as Chainlink VRF, never block hashes |
| Vesting and claim | Releases tokens over time | Cliff and linear schedules, with Merkle-based claims for large buyer lists |
| Liquidity lock | Proves that the project cannot withdraw the pool's liquidity | A time-locked contract that holds Uniswap LP tokens or v3 and v4 position NFTs |
The ERC-20 token development guide covers the token itself, and the Ethereum smart contract development guide covers testing and deployment practice.
Since the Pectra upgrade in May 2025, EIP-7702 lets an ordinary wallet run several calls in one transaction, so a buyer can approve a stablecoin and contribute in a single step, if the wallet supports it.
How an Ethereum IDO allocates tokens without bidding wars
In a first-come sale on Ethereum, buyers race by paying higher priority fees, and bots win most races. These designs remove the race:
- Overflow sales. Everyone commits funds during a window, each allocation is then scaled down pro rata, and buyers claim their refunds afterward.
- Batch and clearing auctions. The contract collects bids and computes one clearing price, so the order of bids inside the window does not matter. Uniswap released its Continuous Clearing Auction in November 2025, and Aztec was the first project to use it. It sets a clearing price for each block and puts the proceeds into a Uniswap v4 pool at the end.
- Liquidity bootstrapping pools. A Balancer LBP is a pool whose token ratio, called its weight, shifts over time. The pool starts with a high weight on the new token and lowers it, so the price falls unless buyers keep buying and bots gain little by buying early.
- Signed allocations tied to KYC. Each verified person gets one signed allocation, so one person cannot claim many allocations through many wallets.
Coinbase's token sale platform, launched in November 2025, shows a further option: buyers submit USDC requests during a one-week window, and an algorithm then sets each allocation to spread tokens across many buyers.
Launch-day MEV and sniping
When a DEX pool opens, bots watch the public mempool and buy in the same block, then sell to later buyers at a higher price. A launchpad can reduce this in several ways:
- Add liquidity and enable trading in two separate steps, with a short delay between them.
- Send the liquidity transaction through a private relay, so it does not appear in the public mempool.
- Set per-wallet buy limits for the first minutes of trading.
- On Uniswap v4, use a hook that applies launch rules such as a dynamic fee.
None of these methods stops every bot, so the launchpad should tell buyers which protections are in place.
Security checklist
- No privileged function can mint tokens, change vesting or withdraw contributions outside the published rules.
- A multisig holds the admin roles, and a timelock delays parameter changes.
- The contracts cannot be upgraded after the sale, or only through a timelocked process that anyone can watch.
- Fuzz and invariant tests confirm that total claims never exceed total tokens sold and that refunds plus allocations equal contributions.
- An independent audit covers the final deployed code, and the project publishes the audited commit hash.
Build effort and cost drivers
As a reasoned estimate, an Ethereum or layer 2 launchpad takes two to four months for two or three engineers who reuse known open-source components for tiers, an overflow sale, vesting, KYC and a web app, with an external audit on top. A Dutch auction or a batch auction, deployments on several layer 2s, or a custom staking token each add weeks and audit scope.
The crypto launchpad development guide covers sale formats and project vetting, and the BSC launchpad guide covers the same contracts on BNB Smart Chain.
Frequently asked questions
Should an Ethereum IDO run on mainnet?
Mainnet suits large raises where each buyer commits a large amount. For community sales with small tickets, a layer 2 keeps fees from eating the allocations.
How does a launchpad stop one person from using many wallets?
The launchpad ties each allocation to a KYC-verified person through signed or Merkle-based allow-lists. Staking requirements also help, but a buyer with enough capital can split a stake across wallets.
What is an LBP?
A liquidity bootstrapping pool is a weighted DEX pool whose weights shift over time, so the price falls unless buyers keep buying. Projects use LBPs to find a market price and to discourage bots.
Is the Ethereum Staking Launchpad the same as a token launchpad?
No. The Staking Launchpad helps people deposit ETH to run a validator, while a token launchpad sells a new project's tokens to buyers.