Web3 Development · 5 min read ·

Token Launch Checklist: ERC-20 to Ethereum Mainnet

A practical ERC-20 token launch checklist from design and audits to deployment, liquidity, and post-launch ops on Ethereum mainnet.

Launching an ERC-20 token is less about “writing a contract” and more about coordinating security, economics, infrastructure, and operations under real adversarial conditions. Mainnet doesn’t forgive sloppy access control, ambiguous tokenomics, or half-tested deployment scripts.

Below is a concrete checklist we use at ChainMagic Studio to take a token from repo to mainnet with fewer surprises.

1) Define the token’s job (utility beats vibes)

Before you touch Solidity, write down what the token does on day one.

  • Utility: governance, fee token, staking, collateral, points-to-token conversion, or purely transferable.
  • Constraints: is it supposed to be non-upgradeable? Is minting allowed post-launch?
  • Users: who acquires it, who holds it, who sells it, and why?

Opinionated take: if you cannot describe the token’s value flow in 5–7 bullet points (who pays, who earns, why it grows), you are not ready to deploy.

2) Tokenomics & supply schedule (write it like code)

Common mainnet failures are economic, not technical.

Checklist:

  • Total supply: fixed cap vs inflationary.
  • Initial distribution: team, treasury, community, investors, liquidity, airdrops.
  • Vesting: cliffs, linear unlocks, revocability, and on-chain vs off-chain enforcement.
  • Emissions: if rewards exist, define rate changes and governance controls.
  • Transfer restrictions (if any): avoid bespoke “anti-bot” logic unless you fully understand the downstream DEX implications.

Practical tip: represent your supply schedule in a spreadsheet and in tests. Tests should assert that the final minted amount equals the documented cap and that vesting contracts can’t exceed allocations.

3) Contract architecture: minimal, standard, auditable

Use battle-tested libraries.

  • ERC-20 implementation: OpenZeppelin ERC20 is the baseline.
  • Extensions: only add what you need (Permit/EIP-2612, Votes, Pausable, Capped, etc.).
  • Access control: prefer Ownable for simple cases, AccessControl for multiple roles.
  • Upgradeability: be honest—upgradeable contracts add operational and trust overhead. If you go upgradeable, document admin powers and timelocks.

Opinionated take: “upgradeable because we might need it” is not a strategy. If you can’t articulate the upgrade policy (who, how, when, what safeguards), don’t ship proxies.

4) Security fundamentals (where most teams slip)

Mainnet attackers are systematic. Your token launch must assume:

  • compromised deployer machine
  • leaked private key
  • malicious or broken admin
  • MEV bots monitoring mempool

Checklist:

  • No hidden mint: ensure mint functions are removed or permanently disabled if supply is fixed.
  • Role hygiene: no “god mode” functions without timelocks/multisig.
  • Reentrancy: token transfers are generally safe, but anything interacting with external contracts (vesting, staking, claims) must be reviewed.
  • Event correctness: make sure mint/burn/role changes emit standard events.
  • Blocklist/fees: if you add transfer taxes or blocklists, expect exchange/DEX integration friction.

5) Testing: unit, integration, and fork tests

Passing unit tests is table stakes. Your launch should include environment-relevant tests.

Checklist:

  • Unit tests: balances, allowances, permit signatures, role gating, caps.
  • Invariant/property tests: totalSupply never exceeds cap; vesting cannot release early.
  • Mainnet fork tests: simulate deployment and liquidity provisioning on a fork (Hardhat/Foundry) against real router addresses.
  • Gas profiling: ensure key flows are not prohibitively expensive.

Real-world example: teams often forget that their “max wallet” restriction breaks Uniswap V2 pair mechanics or blocks router transfers. Fork tests catch this quickly.

6) Pre-deployment ops: keys, multisig, and timelocks

Before you deploy, decide how you’ll control and secure the system.

Checklist:

  • Multisig: use Safe (formerly Gnosis Safe) for ownership/admin roles.
  • Timelock: for sensitive actions (minting, parameter changes), use a timelock contract.
  • Key ceremony: document who holds keys, recovery plans, and signing policies.
  • Permissions map: write a “who can do what” table and publish it.

If you’re raising funds, investors and exchanges increasingly expect professional operational security—multisig plus timelock is the norm.

7) Deployment plan: deterministic, scripted, repeatable

Manual deployments are where mistakes happen.

Checklist:

  • Deployment scripts: Foundry scripts or Hardhat deploy; no ad-hoc Remix deployments.
  • Deterministic addresses: consider CREATE2 if integrations need known addresses ahead of time.
  • Network config: chainId checks, correct RPC endpoints, Etherscan API keys.
  • Dry run: deploy to a testnet and to a mainnet fork using the exact scripts.
  • Rollback strategy: if you’re using proxies, know how to pause/upgrade. If non-upgradeable, know your contingency plan (often: communicate and migrate).

8) Verification & transparency: make it legible on-chain

Trust comes from verifiability.

Checklist:

  • Verify contracts on Etherscan (and Sourcify if possible).
  • Publish source with correct compiler settings and constructor args.
  • Tag releases in GitHub; link commit hash in docs.
  • Document addresses: token, vesting, treasury, multisig, timelock, DEX pools.

Optional but strong: publish a short “contract spec” describing critical functions and admin powers in plain English.

9) Liquidity & launch mechanics (DEX, CEX, or both)

Most tokens “launch” via liquidity on a DEX. The mechanics matter.

Checklist:

  • Choose venue: Uniswap V2 vs V3 (V3 requires active liquidity management decisions).
  • Initial price: define it based on circulating supply and target market cap, not vibes.
  • Liquidity source: treasury-funded, raise-funded, or third-party.
  • LP ownership: will LP tokens be locked, burned, or held by a multisig?
  • MEV considerations: consider private transaction submission (e.g., Flashbots Protect / MEV-Blocker) for initial liquidity adds.

If you’re using transfer fees, test DEX interactions thoroughly; many routers and aggregators assume vanilla ERC-20 semantics.

10) Post-launch: monitoring, comms, and ongoing governance

The launch isn’t the finish line; it’s the start of adversarial production.

Checklist:

  • Monitoring: track transfers, liquidity changes, large holders, and contract events.
  • Alerts: set up on-chain alerts (Tenderly, OpenZeppelin Defender, custom bots).
  • Incident response: a runbook for pausing (if available), communicating, and coordinating signers.
  • Governance plan: if governance exists, publish the process and timeline; avoid surprise parameter changes.
  • Token lists: submit to token lists (Uniswap, CoinGecko/CMC processes) with verified metadata.

Conclusion: treat mainnet like production finance

An ERC-20 token launch is a production financial system deployment. The checklist above is intentionally operational: contracts, keys, liquidity, verification, and monitoring are inseparable.

If you do three things exceptionally well, do these: (1) keep the contract minimal and standard, (2) secure admin powers with multisig + timelock, and (3) rehearse the launch with fork tests and scripted deployments. Mainnet rewards teams who are boring, explicit, and prepared.