A crypto launchpad operates under extreme time pressure: the IDO opens at 15:00 UTC, and 5 minutes before the page doesn't load, the button doesn't respond, the wallet freezes. This is not an edge case — it's a guaranteed scenario with 10,000 concurrent users. We design UX with this in mind, ensuring stability even at peak load. Proper interface architecture reduces IDO failure rates by 60%, and average page load time stays below 0.5 seconds.
Designing the IDO Interface for Thousands of Simultaneous Users
Every IDO stage requires a clear UI state: discovery, eligibility check, registration, purchase, post-purchase. For the purchase screen, simplicity is key: an amount input field, allocation display, and an approve → buy button. States: idle → approving USDC → confirming purchase → success / error. Errors must be human-readable, not execution reverted. Map revert reasons to UI messages like "Your allocation is exhausted." As noted in Ethereum documentation: "A transaction is considered final after being included in a block and 12 subsequent confirmations." Accordingly, the user should see confirmation progress.
Why Investor Journey and Staker Journey Should Be Separate
Investor journey — purchasing project tokens. Staker journey — staking platform tokens to earn tiers. For stakers: a dashboard showing current tier, a calculator "stake X tokens for Y days → tier Z → allocation $W", staking history. For projects: a submission form and real-time IDO monitoring dashboard. Separation reduces cognitive load and increases conversion by 30%.
Key UI Components
Countdown and Time Pressure
The countdown timer is one of the most psychologically loaded elements.
- Sync with the blockchain timestamp, not client time.
- When < 5 minutes remain, increase visual weight and add an urgency indicator.
- At IDO opening — smooth transition without page reload (WebSocket or polling every 3–5 seconds).
- On completion, provide immediate feedback without waiting for the next RPC request.
Transaction Status Flow
EVM transactions go through multiple stages. The user should see each:
[Awaiting wallet signature] ↓ [Transaction sent: 0x1234...] ↓ [Confirmation 1/3] ↓ [Success] or [Error: <human-readable reason>] Wallet Connect and Network Switching
Multi-wallet support is mandatory: MetaMask, WalletConnect v2, Coinbase Wallet, Safe. When connected to the wrong network, immediately prompt to switch — not just an error.
function useNetworkGuard(requiredChainId: number) { const { chain } = useNetwork(); const { switchNetwork } = useSwitchNetwork(); const isWrongNetwork = chain?.id !== requiredChainId; return { isWrongNetwork, switchToRequired: () => switchNetwork?.(requiredChainId), networkName: CHAIN_NAMES[requiredChainId] }; } Allocation Display
The investor sees their allocation in multiple formats simultaneously, including possible slippage:
| Format | Example |
|---|---|
| In tokens | 10,000 TKN |
| In USD | $500 |
| % of round | 0.05% |
| Vesting | 20% TGE, 80% over 6 months linearly |
Load Optimization and States
Rules for loading states:
- Skeleton screens are best for data loading. Spinners only for buttons.
- Stale data with an indicator — better to show data 30 seconds old with a note than an empty screen.
- Optimistic updates for purchases — show "Success" immediately after confirmation.
- Retry logic with exponential backoff for RPC requests, without user notification.
Comparison of transaction handling approaches:
| Approach | Description |
|---|---|
| Optimistic | Immediately show success, then verify on-chain |
| Pessimistic | Wait for RPC confirmation |
| Hybrid | Show progress, update status |
Thanks to optimistic updates, over 95% of users complete IDO without visible delays.
Mobile Adaptation
A significant portion of launchpad users are mobile via WalletConnect. Specifics:
- Deep link to open wallet for transaction confirmation.
- Touch targets at least 44px.
- Digital keyboard for amount input (
inputmode="decimal"). - Scroll to purchase form when IDO opens (the form may be below the fold).
Design System and Design Tokens
For a multi-project launchpad, a design system allowing each project to have its own colors and fonts without rewriting components is essential:
const IDOCard = styled.div<{ theme: ProjectTheme }>` --accent-color: ${p => p.theme.accentColor}; --background: ${p => p.theme.cardBackground}; background: var(--background); border: 1px solid var(--accent-color); `; IDO states are consistently color-coded: UPCOMING (neutral), LIVE (green), ENDED (gray), FILLED (gold).
Typical mistakes in launchpad UX design
- Ignoring the mobile-first approach.
- Missing skeleton screens for data loading.
- Incorrect mapping of revert reasons — user sees
execution revertedinstead of a clear error. - Lack of network indication when connected to the wrong blockchain.
- Delayed IDO status update after block finalization.
What's Included in the Deliverable
- UX analytics and customer journey maps (CJM) for three roles: investor, staker, admin.
- Interactive prototypes of key scenarios in Figma.
- Component-based design system with theme support (CSS custom properties).
- UI Kit with atomic components for rapid development.
- Desktop and mobile adaptation (Responsive + Mobile First).
- Technical documentation with state descriptions, transitions, and error handling.
- 3 months of free support after project delivery.
Launchpad UX/UI Development Stages
- Audience analytics and CJM creation.
- User flow design for three roles: investor, staker, admin.
- Wireframes and prototypes of key scenarios.
- UI design in Figma with a component system.
- Desktop and mobile adaptation.
- Handoff of source files and developer documentation.
Timeline — 4 to 6 weeks. Cost is calculated individually for your project. We'll evaluate your launchpad for free — contact us to discuss details. Order turnkey UX/UI development and get a ready-made design tested under high load.







