Skip to content

How to add loot boxes to NFT games without creating a smart contract

Treasure chest

Want to create loot boxes for your NFT game? Afraid of losing money on airdrops? Looking for the best way to airdrop items to players? If you answered any of these questions with a yes – continue reading. I’m going to tell you how to create and drop loot boxes in your web3 game.

Blockchain development is tough

Web3 gaming is young and reliable blockchain developers are few and in great demand. When an error in code or a possible exploit means potential loss of huge sums of money and of players’ trust – a lot is on the line. is a new kind of game engine for web3. It provides game developers with tools to deploy on-chain game mechanics, removing the complexity of smart contact development. Just pick and choose from a cheat sheet of ready-to-use options. We take care of the rest. 

One of those on-chain mechanics is loot boxes.

Creating a loot box

Moonstream has a web app that acts as a control center for developers: It works as a back-end for all on-chain game functionality. To start using it to add loot boxes into your game you need to:

Step 1: Contact us on Discord to onboard your game;

Step 2: Log into the engine web app;

Step 3: Create loot boxes;

Step 4: Create white list of users who should get the loot boxes;

Step 5: Airdrop the loot boxes through a claims website.

Types of loot boxes

There are two types of loot boxes: common and randomized. The common ones have a set reward inside that doesn’t change no matter what. The randomized or randomizable are the ones that have a set percentage chance of dropping different items, similar to CS:GO loot boxes. The randomization is provided by Chainlink.

First you decide what goes inside your loot boxes. You can put tokens, different NFTs like potions, armor, other in-game items, badges, trophies inside. You can also set how likely it is that the player gets each type of reward for a randomizable loot box. 

Say, you want to create a loot box with a 50% chance of dropping 100 tokens of your game currency, 30% chance of dropping a health potion, and a 10% probability of dropping a sword. 

How does our engine know what types of items and currency your game has? During the onboarding we connect all that data from your game’s initial smart contracts to the engine.

You can then use our engine at and create a loot box containing 100 tokens, a health potion and a sword. Then set the probability for players to get each type of reward. Now it’s available for you to mint.

Loot box distribution

You now have several options for distributing the loot boxes. Choose the type of players who get them: players at the top of game leaderboards, players who won a boss fight, long time NFT holders, mini game winners, etc. Once players reach the set condition, you add them to the white list. 

Upload your white list as a CSV file. You can create white lists using on-chain data provided by Moonstream or from activity on Discord, Twitter and other sources.

Now create an airdrop for those players to claim the loot boxes. They can claim them through either our claim site for players or through your own white label claim website. 

Players’ side of things

After you announced the drop, players go to the claim site > press claim > wait for the randomization > open loot box > get the rewards. Players will need to confirm two transactions – for the randomization and for opening the loot box, they only pay gas for it.

And that’s it! You have now created and distributed your own custom loot boxes to your players. Who knew it could be this easy!

Creating a loot box

Creating a loot box diagram

Join our Discord to onboard your game – our engine is free for indie projects! If you have any questions, you can discuss it on Discord with our dev team. Thank you for reading~