Een mainnet is het moment waarop een blockchainproject niet langer werk in uitvoering is, maar een levend, zelfstandig netwerk wordt met eigen consensusregels, validators of miners en een eigen native asset. Alles wat daar wordt vastgelegd, van een simpele overboeking tot het uitrollen van een smart contract, heeft echte economische waarde en wordt na bevestiging als definitief beschouwd.
Het bereiken van de mainnet is meestal de laatste stap in een langere ontwikkelingscyclus. Teams bouwen en itereren eerst op een testnet, een wegwerpkopie van het netwerk die waardeloze tokens gebruikt, zodat bugs, consensusproblemen en smart-contractlogica grondig getest kunnen worden zonder de fondsen van gebruikers te riskeren. Zodra de code is geauditeerd en stabiel is gebleken, publiceren ontwikkelaars een genesis block, het eerste blok van de nieuwe chain, en openen ze het netwerk voor het publiek. Vanaf dat moment draait de chain onafhankelijk, met een eigen geschiedenis, een eigen validatorset en, bij een Layer 1-netwerk, eigen beveiliging op basislaagniveau in plaats van afhankelijkheid van een andere chain.
Sommige projecten lanceren hun mainnet volledig opnieuw, terwijl andere een "mainnet swap" uitvoeren: houders van een tijdelijk token, vaak een ERC-20 dat tijdens een fondsenwerving werd uitgegeven, worden dan omgezet naar de native coins zodra de chain live gaat. De mainnet van Ethereum, gelanceerd in 2015, is het bekendste voorbeeld: het veranderde een geteste prototype in het productienetwerk waarop nu miljoenen dApps draaien. Omdat mainnet-activiteit permanent en waardevol is, houden de meeste teams ook na de lancering een parallel testnet in de lucht, zodat toekomstige upgrades nog altijd veilig getest kunnen worden voordat ze naar productie gaan.