How to create an atomic drops to mint NFTs on demand

Anders Björk
4 min readApr 30, 2021

--

Updated 2021–07–07 — Added whitelist and captcha & Link to neftyblocks guide

Here’s the video

This article is a complement to the video on the same topic. In here you can find the information described inside the video. My plan is to update this with how you create captcha drop, private drops with private key or whitelists. Join my telegram if you have any questions.

Notice! — To enable the drops, you will have to add atomicdropsx account into your collection. You do this under Collection’s advanced details. Make sure you add atomicdropsx in the authorized accounts.

Add atomicdropsx as authorized account in your collection

If you are looking for a tool built to make this process easier, check out Neftyblocks. They have written a guide on how it works, check it out below.

Links you might find usefull

Create drop on bloks: https://wax.bloks.io/account/atomicdropsx?loadContract=true&tab=Actions&account=atomicdropsx&scope=atomicdropsx&limit=100&action=createdrop
Epoch time: https://www.epochconverter.com/
Video in how you make NFTs: This video applies for WAX and EOS.

Information for drop

authorized_account: YOUR_COLLECTION_CREATOR
collection_name: NAME_OF_YOUR_COLLETION (max 12 char)
assets_to_mint: [{"template_id": TEMPLATE_ID, "tokens_to_back":[]}]
listing_price:
USD: 1.00 USD
WAX: 1.00000000 WAX
settlement_symbol: 8,WAX
price_recipent: RECIEVER_OF_PAYMENTS
auth_required: IF_WHITELIST_OR_CAPTCHA
max_claimable: MAX_SALE_OF_NFTS_IN_THIS_DROP
account_limit: HOW_MANY_ONE_ACCOUNT_CAN_BUY
account_limit_cooldown: HOW_LONG_UNTIL_LIMIT_RESETS
start_time: TIME_IN_SECONDS_SINCE_EPOCH
end_time: TIME_IN_SECONDS_SINCE_EPOCH
display_data: {"name":"NAME OF YOUR DROP", "description": "INFORMATION ON YOUR DROP"} ← Description accepts markdown for links, images etc

If you want a free drop, set these 2 price settings

listing_price: 0 NULL
settlement_symbol: 0,NULL

If you want to add captcha or a whitelist

you need to turn on “auth_required”

How to add captcha or private-key locked drop

  1. Make sure you set auth_required to your drop
  2. Create a key (atomicdropsx::createkey) — Link
The fields to enter for setting captcha
Authorized_account = your collection owner
drop_id = The ID of your drop, can be found in the transaction data when you create the drop.
For Captcha:
key = EOS86k3AuAyDR7szWR9QEu9m5MLXgcBZAag92U2N6iBiyC14j1PWa

If you want a key set for giving away to people, or limit who can access it, you can generate a new eosio based key and add the public key here. Instead of the captcha key. And then in your link to the drop you add ‘?key=Private_Key’ like the following: https://wax.atomichub.io/drops/52951?key=5JpUoBFN54yoYcUrAK3vkZpDuSAZRNbGG2ggwRto6fJQDjrk3Sg

key_limit = how many NFTs can be claimed/bought with that key, set to 0 for no limit.key_limit_cooldown = How long time in seconds until the key_limit resets, set to 0 if it should never reset

How to add a whitelist to your drop

you need to turn on “auth_required”

  1. Make sure you set auth_required to your drop
  2. add to whitelist (atomicdropsx::addtowl) — Link
The fields to enter a whitelist

Authorized_account = Your collection owner
drop_id = The ID of your drop, can be found in the transaction data when you create the drop.

accounts_to_add = List of accounts you want to whitelist, meaning, enable to buy from your drop.

Here you just need to add a list of accounts, within brackets, separated with comma. E.g:

["q4k5u.wam","hot.anyo","anyo"]

After sale, remember to clear your whitelist

This is important because all accounts you add to a whitelist for a drop will be stored in RAM, which you have to cover. So if you want your RAM back, you will have to clear your drop whitelist, so it no longer take up your RAM.

For this you have two alternatives.
1) Remove one or a few accounts (atomicdropsx::erasefromwl) — Link
2) Remove all accounts from a deleted drop (atomicdropsx::clearwl) — Link

The first option is mainly if your drop is still ongoing and you don’t want a specific account there any more.

When you use clearlwl (2), you just add the amount of accounts you want to remove from the list in the field. This action only works after you have removed a drop. So it’s to clear out all RAM, you can add a number higher than your whitelist.

atomicdropsx::clearwl

To remove one or a few accounts from your whitelist, you will do the same process as when you add to the whitelist, but use the erasefromwl (1) action.

atomicdropsx::erasefromwl

Enjoy creating nice drops!
Anders — Anyobservation

--

--