Launch NFTs in minutes - Create and deploy NFT collection on Moonbeam
Published: 2023-05-19 09:41:12

---
title: Launch NFTs in minutes - Create and deploy NFT collection on Moonbeam
published: true
description: In this guide, you will learn step-by-step how to go from raw data and files to a permanently deployed NFT collection on the Moonbeam network in just a few steps.
tags: 
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-05-19 08:42 +0000
---

*In this guide, you will learn step-by-step how to go from raw data and files to a permanently deployed NFT collection on the Moonbeam network in just a few steps.*

---

The recently released integration of the Moonbeam Network’s smart contracts into the Apillon dashboard has brought about the first use case: a few-step deployment of an NFT collection.

[Make your own NFT collection in minutes - brought to Moonbeam by Apillon](https://blog.apillon.io/make-your-own-nft-collection-in-minutes-brought-to-moonbeam-by-apillon-538fdf34fc5)

Read on to learn how to deploy your first NFT collection on the Moonbeam network using the drag-and-drop NFT Service on the Apillon dashboard without having to master the Web3 environment and specific protocols.

---

## Things to know before you begin
### How will your NFT collection work?
👉 **Duration:** Deployment on blockchain makes your NFT collection immutable and non-removable. If specified, some NFTs could be made revokable but not deleted. If you are just testing, you might want to play with dummy files and not final ones.

👉 **Hosting:** Apillon supports Web3 Hosting with Crust and IPFS, so all the contents uploaded in the process of creating an NFT collection will be stored decentrally, too.

👉 **Cost:** Apillon currently offers all services in a freemium plan. Whatever you deploy in this stage remains a part of it and will not be part of future paid plans.

👉 **Access:** Deployment of an NFT collection makes it permanently traceable on the blockchain. When it comes to distributing NFTs, you can opt for different ways of sharing them with the public. Even though the initial Apillon wizard guides you step-by-step through the creation of an NFT collection, as a developer, you may still utilize the following recipe:
* Write your JavaScript code and logic to hide the NFTs behind specific achievements (game rewards, loyalty rewards, etc.)
* Deploy your website with Apillon Web3 Hosting
* Make NFTs accessible only to users who achieve some level in your app logic

👉 **Editability:** Deployment of NFT collection via the Apillon NFT service wizard does not support IPNS metadata mutability and gradual releases. They can be achieved by manually building metadata and NFTs using the Apillon infrastructure.

👉 **Network:** The current release of the NFT Service initially support Moonbeam Network (Mainnet) and Moonbase (Testnet). In upcoming versions, more network options will be made available.

### What will you need?
To create your first NFT collection with Apillon, you will need the following:

* Access to the Apillon dashboard
* NFT files
* NFT metadata

Learn more about how to compile NFT files, from AI-generated content to metadata that defines them. 👇

[Launch NFTs in minutes Pt. 1 - Generate NFT art with AI and get files ready](https://dev.to/apillon/launch-nfts-in-minutes-pt-1-generate-nft-art-with-ai-and-get-files-ready-1gd0)

---

Now that you have everything at hand, your NFT collection could go live in a matter of minutes — stored decentrally, yours to host either on a decentralized network or with your existing website.

Let’s get started.

Go to the Apillon dashboard, navigate to Services in the menu on the left, and find NFTs. Click “Start creating NFTs”.

![apillon-nft-service-start-creating-nfts](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iu3t7nyatpwrv8x0pj00.png)

The whole process of launching an NFT collection with Apillon consists of three steps:

1. Store NFT metadata
2. Compose NFTs
3. Mint NFTs

---

## Step 1: Store NFT metadata

To prevent your NFTs from [vanishing from the face of Web3](https://blog.apillon.io/why-decentralized-storage-matters-for-nft-metadata-and-your-next-nft-collection-b7b90fc3762), the NFT files — the unique assets and the data that makes them unique — need to be stored on the web, and the best way to ensure permanent access is by storing them in a decentralized way.

![apillon-nft-service-prepare-metadata](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dn6gsetkw44aokvvvv39.png)

When the dashboard asks, “Would you like to store your NFT metadata in a decentralized way”, you have two options (click on either to continue the process):

* Yes, proceed > continue to **Step 2** to upload files and data
* I have metadata online > continue to **Step 3** to source files and set parameters (advanced)

## Step 2: Compose NFTs
### 2.1 Upload NFT metadata

Click or drag and drop your CSV file. The platform will automatically create a [Web3 Storage bucket](https://wiki.apillon.io/build/2-web3-services.html#storage-bucket) in the background and connect it to your NFT collection.

> 👨‍💻 **Advanced:** If you’re a developer with a wider scope of control, you can achieve the same by manually creating a [Web3 Storage bucket](https://wiki.apillon.io/build/2-web3-services.html#storage-bucket), uploading metadata and calling the metadata URI in the NFT collection deployment process.

![apillon-nft-service-select-csv-file](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0j53956rsoallxk3yfv7.png)

Now, the name of the uploaded file appears on the dashboard. If you mistakenly chose the wrong one, click the delete icon and do it all over.

![apillon-nft-service-upload-csv-file](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lzf4dzjlrs0d0v50gha2.png)

Click “Proceed”.

In the Metadata attributes pop-up window, select which metadata elements would serve as attributes of NFTs, and choose their format (e. g., a “String” represents text-form values).

![apillon-nft-service-metadata-attributes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ablxztwq5gf3uux0fav6.png)

> ☝️ **Note:** The unchecked elements are still imported but don’t work as NFT attributes.

Click “Confirm attributes”.

### 2.2 Upload NFT files

Now, it’s time to upload the meat and potatoes of your NFT collection.

Click “Upload files” and choose them from your local storage.

![apillon-nft-service-upload-nft-files](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mh63ir0995fh2m1otqcy.png)

Once uploaded, the total number of uploaded files appears. If you failed to import the same number of NFT files as included in the CSV metadata record, the dashboard notices you of missing files. Delete the uploaded ones and upload again.

![apillon-nft-service-missing-images](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2d3fw44oqv7gpf3uq5kd.png)

Now go and check how your NFTs would look like — click “Preview your NFTs”.

![apillon-nft-service-preview-nfts](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gz5afb3ls3bdmvxrtvvi.png)

### 2.3 Preview NFTs

Check how the collection looks, navigate through pages if there are multiple, and confirm it displays the correct files.

![apillon-nft-service-preview-nfts-example](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0dzfv1m0nxyj7tw9pinj.png)

In the top right corner, you can switch to the list view to see whether the CSV file was parsed correctly and that there are no mismatches between NFT files and their metadata.

![apillon-nft-service-table-list-view](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dvyan48mwuxnz0c90dvb.png)

> ⚠️ **Note:** If there is a mismatch, it could be due to errors in the metadata CSV register, so please make sure the order of files in the spreadsheet and the file names match the uploaded files.

If everything is ok, proceed with the process, or return if you want to change something.

> ☝️ **Note:** You can edit anything at this or earlier steps. But once you deploy your NFTs to the blockchain, they remain there permanently. If you want to keep metadata editable, you can only do it by manually uploading it to Web3 Storage with IPNS.

Now, time for the last step — deploying your NFT collection on the blockchain and minting your unique assets.

## Step 3: Mint NFTs
In this step, set the fine details of your collection, including name, symbol, and behavior.

> ☝️ **Note:** The process is similar whether you uploaded the files and metadata following the NFT Service wizard or sourced it online. In the latter case, you should also provide the metadata base URI and extension for Apillon to source data.

### 3.1 Name your collection
Your collection needs a name to stand out among many and be easily searchable.

![apillon-nft-service-name-collection](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/acgx60wcj18m3xpgg27n.png)

👉 Enter the **Name** you want for your collection — here, the sky is the limit.

👉 Enter a **Symbol** that will act as a token name on the blockchain for the collection. It normally consists of 3 or 4 letters that sum up or refer to its name.

👉 On the dropdown, select the **Network (Chain)** where you want to deploy your collection. At this stage, you can choose either Moonbeam (Mainnet) to deploy in production mode or Moonbase (Testnet) to deploy in a test environment. In upcoming versions of the platform, more network choices will be available.

Double-check the inputs and click “Proceed”.

### 3.2 Behavior
Here, you mold the personality of your NFT collection and determine how it should behave in terms of supplying its contents.

![apillon-nft-service-collection-behavior](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sewivkvx5h40pnxba92d.png)

👉 **Total supply** refers to the maximum supply of NFTs in your collection. If it holds a limited number of NFTs, enter the number under How many?

👉 The **Revokable** function lets the collection owner (you) revoke NFT(s) at any point in time. This comes in handy for limited-time NFTs, such as achievement badges in brand campaigns. Unrevokable NFTs live permanently on the blockchain.

👉 With **Soulbound**, you can make your NFTs untradeable. Soulbound NFTs cannot leave the wallet they were deposited into and always remain tied to the originator’s wallet address.

👉 To collect **royalties** from your NFTs, enter your or the recipient’s wallet address, and set the royalties fees in %.

👉 For collections with postponed releases, you can choose **Drop**. This makes your NFT collection publicly available for users to mint and purchase NFTs after the specified date and at the specified price. To avoid having to pay for your own NFTs, enter the number of NFTs you’d like to Reserve for yourself and mint before the drop. Without drop, only you can mint NFTs for either yourself or others.

Double-check everything and click “Proceed” to preview and start deploying your collection.

### 3.3 Preview and deploy
Before deploying your first Apillon-made NFT collection to the Moonbeam Network, this is your final chance to review everything.

Swipe through NFTs, and if everything looks good, it’s time to inscribe your creations permanently on the blockchain. Click “Deploy to blockchain”.

![apillon-nft-service-nft-collection-preview](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/13rg9temtp5njy07avc1.png)

Since this is a point of no return, you’re prompted to double-confirm your decision before deploying your NFT collection.

![apillon-nft-service-w3-warn](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gefe7l1zmdymdxb3uco7.png)

Click “Deploy NFT collection” again, and wait for the Web3 magic to happen.

In a few seconds, you can give yourself a pat on the back — your first NFT collection with Apillon is successfully deployed!

On the next screen, you can view the transaction on blockchain explorer or see its contents in your newly created bucket.

![apillon-nft-service-blockchain-explorer-newly-created-bucket](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3bxu2213e97dx5hreq1i.png)

### 3.4 Display on the internet
Now that you have deployed your NFT collection on the blockchain, you can view the transaction on the blockchain explorer linked at the bottom.

To display NFTs in all their glory (beyond the transaction hash) and make them tradeable and shareable, your should showcase them on a website.

![apillon-nft-service-display-on-internet](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mubnku0f3lh3vcuum8kl.png)

Once the NFT collection is deployed, you will automatically be presented with a finished Apillon website template that can read your NFT metadata and display your collection.

Here, you have two options: you can either create a decentrally hosted website by forking the template on GitHub, or simply integrate the code into your existing website.

**1. Fork Apillon NFT website template**

The easiest way to display your NFTs is to create a website for your NFT collection using Apillon static website template and host it on a decentralized network.

![apillon-nft-service-collection-website-template](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wgkx1l5k48ojn3zr43z6.png)

This static website written in html is fairly simple and represents a great starting point, as you can customize it to best suit your NFT collection website. Click “Create website to display NFTs”.

![apillon-nft-service-create-website-to-display-nfts-cta](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1r112gr18uwa1gfy3bms.png)

The button takes you to [Apillon GitHub repository](https://github.com/Apillon-web3/nft-template), where you can create a new fork of the template.

![apillon-nft-service-github-template-fork](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v3njzoag3qafffww5h61.png)

You can use the template and simply update the js/env.js file with your own addresses. Find the **Contract address** on the Apillon dashboard on the list of NFT collections, and copy it to the clipboard.

In GitHub, under the **Code** button, click **Download ZIP**. In your visual code editor, paste the address of your NFT website, and save.

Once done, run locally and redeploy with different functionalities to [Apillon Web3 Hosting](https://wiki.apillon.io/build/2-web3-services.html#web3-hosting).

![apillon-nft-service-github-template-download-zip](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fz4uz8oh6wiqmoh53ejv.png)

**2. Integrate and mint NFT collection on your website**

If you prefer having your NFT collection displayed on your existing website, wherever it is hosted, even centrally, you can do so, too.

Click “Display them on your existing website”. Again, you use the code from Apillon GitHub, and integrate it to your website.

![apillon-nft-service-display-nfts-on-your-existing-website-cta](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/al2hg6rot06yw586b6d8.png)

### 3.5 Mint NFTs
To make your NFTs appear in all their glory on your website, you should mint them.

On the Apillon dashboard, you can see the details of the deployed NFT collection: **Collection symbol** and **name**, **Contract address** (copy and paste it into [blockchain explorer](https://moonscan.io/) to verify), and its status (e. g., “Failed”, or “Deployed”). There is also **Mint** price and the number of **Reserved** NFTs.

Under **Minted/Max supply**, you can see how many of the deployed NFTs were actually minted.

![apillon-nft-service-collection-details](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bvik48vcju94g9dtomle.png)

To do more actions, minting included, and see more details, click on the **Collection name**.

On the list of details, the **Chain ID** indicates the network the collection was deployed on, together with **Transaction hash**.

Under **Transaction type**, you can see the initiated action for the contracts, and its **Status**.

If everything looks fine, go to **Actions** in the top right corner, and choose to **Mint** your NFTs.

![apillon-nft-service-mint-nfts](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nycal2w1ahfotca60cob.png)

As you mint your NFTs, you will bring your collection to life linked to your wallet and visible on your website.

![apillon-nft-service-mint-nfts-pop-up](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xch8heatlcz6qybh7rms.png)

Using the code from GitHub, you can simply integrate it to your website.

### 3.6 Transfer ownership
To transfer ownership to another wallet, simply click it under the Actions drop down, and enter the wallet address into the pop-up.

![apillon-nft-service-transfer-ownership](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/osllckdjeinvfbk0tnso.png)

![apillon-nft-service-transfer-ownership-pop-up](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u77vk8fbj0s2gnkhjakd.png)

## Long live NFTs
Well, that’s it. You’ve made it to the end and are now a proud owner of your first NFT collection on the Moonbeam Network!

List them on marketplaces such as [tofuNFT](https://tofunft.com/), display them locally on your website or dapp, or share them with intended recipients.

The sky is the limit! [Let us know](https://twitter.com/apillon) how it went, share your precious NFTs with the Apillon and Moonbeam communities, and inspire other to follow your footsteps.

[![apillon-start-building-cta](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h0rub7w5tgo30z4c9jo2.png)](https://app.apillon.io/login)

---

*This article was originally published on [Apillon Medium](https://blog.apillon.io/guide-nft-service-pt-2-create-and-deploy-nft-collection-on-moonbeam-2d7eedf79756).*