An IDO launchpad on Polkadot is not one contract on one chain. Polkadot's relay chain does not run user smart contracts, so a launchpad lives on a parachain that does, such as an EVM-compatible chain, or on its own Polkadot SDK chain, and moves tokens such as DOT and stablecoins between chains with XCM. Getting that architecture right is the main design decision.
How Polkadot differs from single-chain launchpads
On Ethereum or BNB Smart Chain, the sale contract, the token and the DEX all share one execution environment. On Polkadot, they may sit on different parachains:
- Asset Hub is the system parachain for issuing and holding fungible assets and NFTs cheaply, and it hosts native USDT and USDC. Many projects issue their token here rather than writing a token contract.
- Smart-contract parachains run the sale logic. Moonbeam offers an Ethereum-compatible environment for Solidity; Astar supports both EVM and Wasm contracts written in ink!, a Rust-based language.
- XCM, Polkadot's cross-consensus message format, transfers assets between Asset Hub, contract parachains and DEX parachains such as Hydration.
Polkadot has also been adding native smart-contract capability to its Hub, aimed at Solidity developers. Check the current state in the official Polkadot developer docs before you choose a home chain, because it may remove a cross-chain hop.
Three architecture options
| Option | How it works | Best when |
|---|---|---|
| EVM contracts on an EVM parachain | Solidity sale, staking and vesting contracts; users bridge DOT or stablecoins in via XCM | Your team knows Solidity and wants mature tooling |
| ink! contracts on a Wasm parachain | Rust contracts with Substrate-native accounts and wallets | You want to stay close to Polkadot-native tooling |
| Your own Polkadot SDK chain | Sale logic as a custom pallet; chain secured by Polkadot via coretime | The launchpad is one part of a larger app-specific chain |
A dedicated chain is rarely justified for a launchpad alone. It used to require winning a parachain slot auction, often funded by a crowdloan; since 2024, Polkadot's Agile Coretime model lets chains buy blockspace instead, which is cheaper and more flexible, but you still operate collators, upgrades and infrastructure. The general trade-offs are discussed in the Polkadot development guide.
Launchpad components, the Polkadot way
- Token issuance. Create the asset on Asset Hub, or as an ERC-20 on an EVM parachain if your sale and DEX are there. Decide early, because moving later means a migration.
- Staking tiers. If you use a platform token for tiers, decide which chain it is staked on and how snapshots are taken. Cross-chain snapshots need careful timing.
- Contribution handling. Accept DOT or stablecoins. Users may need to transfer from Asset Hub to the sale chain first; make that an in-app step, not a separate tutorial.
- Allow-lists and KYC. Map verified identities to SS58 or EVM addresses. Note that the same key can appear as different address formats across chains.
- Vesting and claims. Release tokens on schedule, and for Asset Hub tokens, decide whether claims happen there or via XCM.
- Listing. Seed a pool on a Polkadot DEX and, if you use liquidity locks, make them verifiable.
Polkadot-specific gotchas
- Existential deposits. Accounts below a chain's minimum balance are reaped. Small vesting claims or dust refunds can disappear if you ignore this.
- Asset registration. A token must be registered on each chain it travels to, with correct XCM location and decimals, or transfers fail.
- Fee assets. Users often need the destination chain's native token for fees. Plan sponsored fees or fee payment in the asset.
- Wallet UX. Polkadot-native wallets such as Talisman, SubWallet and Nova support both address types, but EVM users arriving with MetaMask may not understand them. Support guides on Polkadot wallets help here.
- Runtime upgrades. Parachains upgrade their runtimes on-chain. Monitor upgrades on every chain your flow touches.
Testing
Use Chopsticks or a local Zombienet network to fork live chains and replay full flows, including XCM transfers, before going to testnet. Test failure paths: what happens to a contribution if the XCM message fails halfway.
Cost and timeline drivers
As a reasoned estimate, an EVM-parachain launchpad reusing audited Solidity sale and vesting contracts, with XCM deposit flows and a web app, is three to five months for three or four engineers including an audit. ink! contracts or a custom pallet add time for audits by reviewers with Rust and Substrate expertise. A dedicated chain is a far larger project. The broader launchpad buyer's guide covers sale formats and vetting, and the multichain IDO guide covers serving several ecosystems at once.
Frequently asked questions
Can I run an IDO directly on the Polkadot relay chain?
No. The relay chain coordinates and secures parachains; user contracts run on parachains or on Polkadot's Hub where supported.
Should I use ink! or Solidity?
Solidity on an EVM parachain gives the largest pool of developers, auditors and reusable code. ink! makes sense if your team is already invested in Rust and Polkadot-native tooling.
Do I need a parachain for my project?
Almost never for a launchpad. A dedicated chain is worth considering only when the project needs custom runtime logic beyond what contracts can offer.
Can I test on Kusama first?
Kusama is a live network with real value, not a testnet, though some teams use it to launch earlier and iterate faster. See the Kusama guide.