Pre-sell limited NFT collections on Mavis Launchpad
Overview
The Mavis Launchpad ticket presale lets you pre-sell limited NFT collections through a ticket-based system. Instead of buying NFTs directly, participants purchase tickets with RON, each offering a chance to win an NFT in a raffle at the end of the presale.
With the ticket presale, you can:
- Gauge community interest: run extended presales to involve more participants, measure demand, and adjust mint parameters based on results.
- Create excitement: use a raffle to engage participants with a fair and thrilling lucky draw experience.
- Ensure transparency: rely on Verifiable Random Function (VRF) technology for public, on-chain, verifiable raffle results.
- Reward loyal members: set flexible pricing and limit tickets per wallet to give active community members more chances to win.
Winning tickets are redeemed for NFTs, and losing tickets are fully refunded, offering participants a fair, risk-free experience.
Prerequisites
- Basic knowledge of Solidity for smart contract development.
- A deployed NFT smart contract on Ronin.
Steps
Step 1. Customize your launch
- Make a copy of the Ticket Presale form.
- Fill in the general information and presale details. For more information, see Ticket presale phases.
- Send the form to your point of contact.
Step 2. Integrate your NFT smart contract
During the minting process, the Launchpad calls the mintPresale(to, quantity, extraData)
function in your contract to issue NFTs to the user. The following are the function parameters:
to
: the address of the user who receives the minted NFTs.quantity
: a uint256 representing the number of NFTs requested by the user.calldata
: abytes
parameter containing any additional data that required during the minting process. This field is typically left empty.
The Ticket Presale also implements the ERC-165, which requires the NFT contract to provide supportsInterface(interfaceId)
.
Grant the minter role to the Launchpad
-
Visit app.roninchain.com and search for your deployed NFT contract.
-
On the Contract tab, click Write Contract.
-
Locate the
grantRole
method and fill in the following parameters:- Role: the role you want to grant. For Mavis Launchpad, use
0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6
(the MINTER_ROLE as byte32). - Account: the address of Mavis Launchpad depending on the network you deploy to:
- Ronin mainnet:
0xa8e9fdf57bbd991c3f494273198606632769db99
- Saigon testnet:
0x9eaf882f8cdfef42a3c272365f9cd069a220ce7c
- Ronin mainnet:
- Role: the role you want to grant. For Mavis Launchpad, use
-
Connect your Ronin Wallet with the administrator account and click Write.
Step 3. Create a landing page
The landing page is the first thing users see when they visit your project. To make a good first impression, make sure your landing page is attractive and informative. Mavis Launchpad offers six different types of block layouts for the About page to choose from. You can add up to 10 blocks per page.
To create your own layout, follow these steps:
-
Open the Mavis Launchpad Template Figma file.
-
Click an empty spot in the canvas to select any layers.
-
Click the filename at the top of the page, then select Duplicate to drafts to create a copy.
-
In your copy of the template, you can now add or remove the blocks to create your own layout.
-
After you created the layout that fits your project, generate a shareable link to the Figma board.
-
Update the 4. Collection about field in the form with the link to your Figma board, and send it to your point of contact.
Reference
Ticket presale phases
Typically, a ticket presale consists of three phases:
Phase 1. Ticket purchase phase
Participants in the sale can purchase tickets, each of which offers a chance to win an NFT from the collection. The more tickets a person buys, the more likely they're to own an NFT.
Each presale can set its own limit on the number of tickets that each user can purchase.
Phase 2. Winner selection phase
After the ticket purchase period closes, all tickets enter a pool, from which winners are selected through a fair process. Each ticket has an equal chance of winning.
The ticket presale uses Verifiable Random Function (VRF) technology to ensure fairness and transparency throughout the selection process.
Phase 3. Distribution phase
After the winning tickets are chosen, the distribution period begins. During this phase, the owners of winning tickets can redeem their tickets for the corresponding NFTs. If a ticket doesn't win, the buyer receives a full refund directly to their wallet.
The distribution phase doesn't need to begin right after the ticket purchase period closes. There can be a waiting period before the start of distribution, allowing for any necessary preparations.