Launching an NFT Project: A Step-by-Step Guide for First-Time Founders

We are often approached by project founders who want to launch their first NFT project. While they may be familiar with some aspects of a successful launch, they typically ask similar questions about the steps involved in launching an NFT collection. Although each project is unique, there are usually some broad steps that are common to most projects.

Here are some high-level steps to consider when starting a new project. Note that my comments and opinions are included with these steps, but you can of course choose to do things differently.

1. Decide on which chain to launch your NFT on.

There are several good options available, such as Ethereum mainnet, Polygon, Arbitrum, Solana, Tezos, etc. Each has its own thriving ecosystem and community.

Things to consider when deciding on the chain to launch:
a) The tech team you have - are they more experienced and comfortable with EVM (Ethereum based chains like Mainnet, Polygon, Arbitrum, Optimism) or Solana or Tezos, etc?
b) Is the speed and cost of making a transaction by the user very important to you? For example, if you're building a game, you might want your users to not spend a lot every time they use the NFT in the game. In this case, Ethereum mainnet would probably not be the best choice and instead you should consider a cheaper/faster alternative like Polygon or Solana.
c) Size of the investor community - At this point, the vast majority of all NFT sales and transactions still happen on the Ethereum mainnet. It's the biggest chain with the largest pool of users with ETH willing to spend. This is usually a major factor for the projects we’ve worked with, most of whom have opted to launch on Ethereum.

Source: Nonfungible / ConsenSys
Source: Nonfungible / ConsenSys

At this point, my recommendation is usually to go with Ethereum mainnet despite its issues because as mentioned above, over 90% of the market is still dominated by Ethereum.

2. Finalize the media/artwork for your project.

Your NFT could have any type of media - Video, Images, audio/music, etc. The process for creation for each type is different. I'll expand a bit on the "static" image NFTs, since those are the most popular types in the market.

For the pfp-style collections, usually, after a few discussions with your graphic artist, they will provide the final deliverables which will include all the layers of your artwork. For example, you should receive an “eyes” folder containing all the different variants of eyes that you want. Similarly, you’ll get folders for other attributes like nose, hairstyle, background, and anything else you.

The next step is for you or your developer to run these layers through an art generation engine that provides different logic and weightage of the attributes (say, for example, you want the golden background to be in only 1% of the NFTs, etc).

Typically you would not need to develop custom code for this, an amazing open-source project called HashLips Art Engine handles all this for you. This project has great documentation and any developer would be able to run the engine pretty easily

An example of working with layers in Hashlips
An example of working with layers in Hashlips

3. Develop a simple, good-looking front-end landing page.

Often, this landing page is the first impression for your potential buyers, and hence, quality here matters a lot. It's also important for you to have some vision of what you're looking to communicate in the landing page (Like - Mystery? Cartoonish or fun anime? Horror? etc) and to make sure the designer/developer understands this well.

A landing page we at Wipiway created for a Hollywood team
A landing page we at Wipiway created for a Hollywood team

4. Finalize the sale logic, sequence and phases, and develop the smart contract.

There are several features and aspects of the sale that you’ll have to finalize before getting started with the actual Smartcontract code.

Things like:

  • Allowlists - Collecting a list of user addresses that will be allowed to mint your NFT during the sale. This is usually helpful if you think your collection could get over-subscribed

  • Presale, public sale - Some collections like to sell NFTs in different stages and at different prices

  • Auction - Dutch auction has been common for a few popular collections where the price starts at a high amount and gradually reduces if there are not enough buyers at that price.

  • Reserve for team - Some teams choose to reserve a few NFTs for themselves. The BAYC team had famously reserved a few hundred tokens for themselves.

  • Pre-reveal / post-reveal functionality - Most NFT collections do the initial sale without revealing the metadata and media. Instead, they wait a few days and build up mystery and usually reveal at a particular time all at once.

Based on the above, a final important decision to be made here is: Can you use and deploy a pre-built NFT sale Smartcontract or would you require some custom development? There are several good options out there like Thirdweb, Manifold, etc which can save you a lot of development time because of their pre-built templates. But if these do not fit your requirements, then your developer should take the help of OpenZeppelin libraries and build your own minting contract.

Note that the important aspect of who gets to access the funds that are raised after a sale needs to be decided upfront, and the developer needs to ensure the security of the “Withdrawal of funds” functionality. Typically, even the developer or team creating the smart contract does not get access to the funds that get collected.

5. Web3 integration on the website, deploy on testnet, and mock test sale

Once the smart contract is ready, the front-end website needs to be tied in with the smart contract, and the minting functionality needs to be added to the UI. Testing is also critical to ensure the safety and security of the sale, your app should be deployed on a testnet like Goerli or Sepolia. Along with your developer, you, as the project founder, should also be involved in going through a few mock sales of different stages (Allowlist, public sale, etc). It’s best to test out all features including media reveal and funds withdrawal.

Some admin and maintenance functionality should also be tested thoroughly during this phase - things like updating metadata link (for post-reveal), funds withdrawal to appropriate wallet, pausing sale (in case of an issue), adding Allowlist addresses, etc.

6. Auditing

This step is optional but I often recommend if you have the budget, to get your smart contract audited by a third party team, especially if it’s a custom made contract.

7. Upload all media onto IPFS / Arweave

Since the blockchain is not an efficient way to store data, most NFT collections have their media residing on technologies such as IPFS or Arweave, and only a reference to that media is stored on the blockchain.

Assuming your media is now ready (that is, all layers mentioned in step-2 have combined to form your images/assets), the developer should now upload the media onto IPFS or Arweave in a particular format.

If you’re choosing not to reveal the artwork until the sale is complete, you will also have to prepare a “pre-reveal” set of media on IPFS.

I wanted to give a shout out to Pinata, we’ve used their service to host several of our NFT project media on IPFS.

One of the platforms making it easy to upload media content on IPFS
One of the platforms making it easy to upload media content on IPFS

8. It’s time to deploy the sale Smartcontract on Mainnet

If this is your first time deploying a Smartcontract on a live chain, it’s genuinely an exciting feeling. The way everything just works - from miners/stakers and their servers processing blocks, keeping consensus and security, and a hundred other things resulting in your contract being deployed and running on chain.

The deployment can either be done by your developer, or they can guide you on how to deploy the contract from your own laptop using your own wallet.

Once the contract is deployed, I’d recommend minting at least one NFT asap, so that Opensea recognizes the Collection and gives you access to the Collection admin page where you can upload the Banner image, description, social media links, etc.

Editing Collection page on Opensea once an NFT has been minted on the contract.
Editing Collection page on Opensea once an NFT has been minted on the contract.

9. Provide all relevant details to your community on Discord:

  • Steps on how to mint

  • Official links to the Opensea collection, Smartcontract address, and etherscan link,

  • Date and time for the sale

  • Allowlist details if any

  • Max limits, gas price estimates, and how to check how many NFTs remain, etc.

10. Sale goes live!

If you’ve done enough testing and have competent developers, this phase should ideally be the most non-eventful process where you don’t have to worry about the tech since the Smartcontract and your website will be doing all the heavy lifting. You would most likely be focusing more on the public-facing marketing activities.

11. Follow up and continue working on the project and engaging with the community.

Too often we’ve seen projects getting abandoned after the initial sale, and hence our team at Wipiway tries to look for projects that have a long-term plan.

The NFT space is still in its very early days, and there’s massive potential in a whole lot of fields. I’m personally very excited about the impact it will have in the gaming industry and the Metaverse. Yes, we’re currently going through a bit of a downturn, but that is part of the cycle of adoption for any new tech. Projects and companies that get built through the bear market have the highest chance of making the most out of the eventual bull market (Exhibit A - Uniswap, Compound, Opensea).

We at Wipiway are a team of developers and designers working in Web3 building decentralized applications since 2017, holding expertise in NFT Marketplaces, DeFi among other things. Come say hello and get your free consultation if you’re thinking of launching a project!

Subscribe to Wipiway.eth
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.