Complete Guide To NFT Drops On WAX

EOS Amsterdam
8 min readApr 29, 2021

An NFT drop is very versatile and can be used to launch a sale, or to give away a promo NFT, and more. However, creating a drop can be difficult and the steps can be confusing. In this article, we will discuss the complete process of creating an NFT drop on the WAX blockchain.

If you would like to learn more about NFTs on WAX, you can find our complete guide here!

Creating a collection

Before you can create a drop you will need to create a collection and some templates. This can be done easily through the ‘NFT Creator’ on Atomichub.

For more details you can read our guide on how to create your own NFTs here.

Updating the collection permissions

Once you have created a collection you will need to add ‘atomicdropsx’ as an authorized account to your collection.

Don’t forget to click ‘Edit Collection’ after you fill in atomicdropsx!

This can be done by going to the page of your collection on Atomichub (through the NFT Creator), clicking on ‘Advanced Details’, clicking on the orange + button, filling in ‘atomicdropsx’, and then clicking ‘Edit Collection’, after which you will have to approve the transaction.

Depositing RAM

The next step is to deposit WAX to the atomicdropsx smart contract, in order to pay for the RAM your drop(s) will consume. This can be done by sending a certain amount of WAX to the ‘atomicdropsx’ account, with this memo:

deposit_collection_ram:collectionname

Make sure you replace ‘collectionname’ with the actual name of your collection, and then send the transaction.
You can always deposit additional WAX using this method in case you run out of RAM.

How much RAM you need

In order to calculate how much RAM you need, and how WAX you need, we can do the following calculations. We’ll first calculate how much RAM is needed. Each claim of a drop costs 151 bytes of RAM, therefore, the total amount of RAM we need (in kilobytes) will be [amount of claims]*151/1000.

Once you know how much RAM we need, you can calculate how much RAM we need to deposit. In order to do this, visit the main page of Bloks, where you can find the current price of 1 kb of RAM. You can then do [required RAM in kb]*[current price of 1 kb of RAM in WAX], in order to get the exact number of WAX you’ll need to deposit to the atomicdropsx contract in order to receive a certain amount of claims on your drops. Always make sure you deposit some additional WAX to be certain you have enough RAM.

Checking your current RAM balance

You can also check your current RAM balance, so you know how many claims you still have left on your drops.

To calculate your remaining claims divide the byte balance by 151

In order to check your RAM balance, visit this page. On this page, scroll down and enter your collection name in the ‘Lower Bound’ box. After filling in your collection name, click the ‘Refresh’ button, and your collection should appear on top of the table, along with your current byte balance.

In order to to calculate your remaining claims, divide the byte balance of your collection by 151.

Creating the drop

Now you’re all set with your collection and RAM, it’s time to actually create the drop. In order to create a drop, visit this page. We’ll explain every part below!

authorized_account: This is the account that has the authority to create the drop (and mint from the template). This is usually the account which you used to create the collection. Make sure you are logged in on Bloks using the same account!

collection_name: This is the name of your collection.

assets_to_mint: This one is a bit more complicated. You will have to enter the following code:

[{"template_id": 1234, "tokens_to_back": []}]

You can copy this code, and replace the ‘1234' with the id of the template you are creating the drop for (can be found in the NFT Creator on Atomichub). You can also choose to back each of the NFTs with a certain amount of WAX, but we generally recommend to only edit the template id.

listing_price: This is the price of NFT in your drop. You can choose various kinds of prices, such as a price in WAX, USD, DUST, or a free drop. Depending on the currency in which you want the purchase of your drop to be settled, you’ll have to enter different things. Assuming a price of 10, you would have to enter the following data:

Pricing in WAX: ‘10.00000000 WAX
Pricing in USD: ‘10.00 USD
Pricing in DUST: ‘10.0000 DUST
Free drop: ‘0 NULL

You can copy this text and replace the price before the dot with the price you choose.

settlement_symbol: This is the symbol in which the price will be settled. This will either be ‘8,WAX’ or ‘4,DUST’, or ‘0,NULL’, depending on your settlement price. If you set the price in USD, make sure you use ‘8,WAX’ as the settlement symbol.

price_recipient: This is the account which will receive the proceeds of the drop. This has to be a WAX account, not a collection name.

auth_required: This feature can be used to do a whitelist-only drop. It can also be used to add an additional captcha to the drop (recommended for free drops). If you toggle this button, keep in mind that you will have to add a key/captcha after you have created the drop, which we will explain below.

max_claimable: This is the max amount of NFTs that can be claimed from your drop. If you want to have an unlimited amount of claims, enter 0.

account_limit: This is the max amount of NFTs a single account can claim at one time. If you set this to 0, an account can claim as many NFTs at once as they want. You can also impose cooldown periods (so they can claim again after a certain period (see below)).

account_limit_cooldown: You can enter a certain number (measured in seconds) here, if you want to allow accounts to claim again after a certain period. For example, if the account_limit is set to 1, and the account_limit_cooldown is set to 300, an account can claim 1 NFT every 5 minutes.

If you do not want to have any cooldowns, enter 0.

start_time: This is the time at which your drop will become available to everyone (it will be visible on the blockchain before this time as well). You’ll first have to convert the time and date to an epoch time and date. This can be done using this tool. After you have converted the date and time, copy the epoch timestamp and enter it.

If you want the drop to become available immediately, enter 0.

end_time: This is the time at which your drop will end (it will be visible on the blockchain after this time as well). Similar to the start time, you’ll first have to convert your time and date to an epoch time and date. Once that is done, copy the epoch timestamp and enter it.

If you do not want to have an end time, enter 0.

display_data: This is the data that is displayed on the drop page, namely the name of the drop, and the description of the drop. In order for the data to show up correctly, enter the code below:

{"name": "my name", "description": "my description"}

You can replace ‘my name’ with the name you want, and you can replace ‘my description’ with the description you want. If you want to format the text of your description, use markdown.

Finding your drop

Once all fields have been filled out, you can accept the transaction at the bottom of the page. After accepting the transaction, you will see a confirmation at the bottom of the page, along with the hash of your transaction. You can then click on this hash in order to go to the page of the transaction.

You can find the ‘drop_id’ under the ‘Traces’ tab

On the page of the transaction, click on the ‘Traces’ tab, and you should be able to see the drop_id of your drop (at the top of the second trace, as can be seen in the image above). You can then view your drop by going to the following URL:

http://wax.atomichub.io/drops/drop_id

You can copy this URL, and replace ‘drop_id’ at the end of the URL with the drop_id of your drop. You should then be able to see the page of your drop.

If you have toggled the auth_required button when you created the drop, you’ll notice a message above your drop stating that only whitelisted accounts can participate in the drop. If you want to remove this message by adding a captcha, proceed below.

Adding a captcha (if auth_required is toggled)

To add a captcha (and remove the whitelist warning message on the page of your drop), navigate to this page. On this page, you will need to fill in a couple of things.

First of all you’ll have to enter the authorized account (the account you used to create the drop and/or collection) in the authorized_account field. You’ll then have to enter the drop_id of the drop you just created in the drop_id field. Then you’ll have to enter a key in the key field. In order to add a captcha, copy and enter the key below:

EOS86k3AuAyDR7szWR9QEu9m5MLXgcBZAag92U2N6iBiyC14j1PWa

After you have entered the above key in the key field, you can enter 0 in both the key_limit and key_limit_cooldown field. You can then accept the transaction, and the warning message on the page of your drop should disappear.

Viewing multiple drops

Now you have created a drop, you may want to create a sale page where you can view multiple drops at the same time. This can be done very conveniently after you have created all of the individual drops.

http://wax.atomichub.io/drops/drop_id1+drop_id2

Once you have all of your individual drops, make sure you have their drop_ids, and copy the url above. You can then replace the drop_id with the actual drop_id. If you want to add a drop to the page, put a ‘+’ at the end of the URL and enter the drop_id of the drop you want to add behind it.

About us

Founding block producer for the EOS mainnet. Telos, Proton, BOS, FIO, and Instar Block Producer. Active top WAX Guild. Partner in the Europechain sister chain. Investor in blockchain projects. Governance, intercultural cooperation, and security specialist. You can find us here:
EOS, Europechain, Proton, and Instar Block Producer name: eosamsterdam
BOS Block Producer name: amsterdambos
Telos Block Producer name: amsterdam
FIO Block Producer name: bp@eosamsterdam
WAX Guild name: amsterdamwax
Website|Twitter|Telegram|Wechat

Written by Yannick Slenter for EOS Amsterdam

--

--

EOS Amsterdam

Founding block producer for the EOS Mainnet. WAX Guild. Partner in Europechain. Investor in blockchain projects.