Skip to main content

Perform a primary sale

Primary sales are the first step towards getting in-game items into players' hands.

The application of primary sales could be both:

  • within an in-game storefront experience selling weapons, skins or packs, or
  • as a common web3 practice of acquiring customers external to the gameplay.

In either case, the core mechanic is when a player funds the purchase (with fiat or tokens) for an on-chain asset you've created.


💡Note
This article is intended to be a guide. The Immutable Primary Sales feature for zkEVM will be coming soon. In the interim you can use the information on this page to help design a suitable primary sales solution for your game.

Why conduct a primary sale

In web3 games, we generally would split the purpose for conducting your primary sales into two types:

  • Sales as a means of customer acqusition: This comes from the tactic from other types of web3 projects, where on-chain assets are used to incentivise future players to discover and support your new project. You can find some considerations for how to manage demand in these primary sale circumstances later on in this article.
  • Sales to provide players with better in-game experience: This comes from the storefront experiences you find in web2 games, where players are able to buy weapons, skins, accessories, powerups and lootboxes though a shopping experience. Typically most of these items would be sold at fixed cost, and considerations for rarity is typically item specific.

Methods to platform for a primary sale

Regardless of the above choice in why you're conducting a primary sale, there are two distinct ways of platforming on-chain.

Method 1: Pre-mint and transfer

This occurs when a game creator initially mints assets into their collection-owned wallet(s) and then transfers those assets to players upon a successful transfer of funds (either fiat or crypto). While this approach allows more flexibility with the sale's design (e.g. does not require a smart contract update upon a change in design), it could come at a potentially greater cost to the game creator if they are required to pay both the minting and transferring gas fees for each asset.

Method 2: Direct mint

This occurs when players directly interact with a smart contract to purchase a game asset. Players send a specified amount of funds to a smart contract during the sale and the contract will then mint an asset directly into their wallet. This approach has advantages such as increasing transparency for players regarding the sale's logic, however the approach needs to be well-thought through and considered as any changes to the primary sale's design could require another smart contract deployment.

Methods to conduct your primary sale

A second decision is that the sale can be performed via a fixed price, or variable based on auction techniques. In this tutorial, we won't be focussing on the sale method.

MechanismsDescriptionExamples
Fixed priceA fixed price sale is the the most common type of primary sale and the simplest to execute. This occurs when game creators price assets at a fixed price throughout the entire sale's duration.
AuctionAuctions are more complicated to execute but lead to better price discovery of the assets. There are two main types of auctions:
  • Dutch auctions are those where the price begins high and is incrementally lowered.
  • English auctions are the opposite where the price begins low and is incrementally increased.

Additional information: Considerations for primary sale for acqusition

As you think through your primary sales decision you should consider the following. For the average game, we believe you'll be needed a combination of various architecture which is tailored for your specific sale need. We will look to provide more functionality and guidance as we launch our primary sales feature.

ConsiderationDescription
Volume capA primary sale that sells out all of its assets is a clear signal of a successful sale. Depending on the type of sale, this can provide your game predictable revenues, as well as drive buyers' interest to the sale as the available supply dwindles.
Time capGame creators can choose to have a clearly defined sale window for players to purchase their assets. In addition to driving excitement towards the sale starting, this can also drive demand as the sale finishes.
PhasingA phased launch (i.e. holding several launches to distribute an asset's total supply) is a particularly useful lever to drive sellouts and excitement where total asset supply outweighs your current community size.

The sequence of game asset sales (e.g. PFP followed by land assets) can also be an important decision as it creates a mental model where participants understand what and why is being dropped without needing to be told. For example, PFPs being dropped before land allows players to get a sense of the game world they're entering.
Player purchase limitsTo prevent bots or a small number of users buying many of the available assets, player purchase limits (identified by wallet address) should be set. While this reduces potential sales, the sentiment impact and risk of price dumps by holders of many assets are worth the trade-off.
AllowlistingDepending on your primary sales' launch goals, allowlisting a subset of users for access to your primary sale can be valuable. Cases where this approach is helpful would be to reward early community members or to promote healthy community engagement.