Skip to main content

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

  1. Make a copy of the Ticket Presale form.
  2. Fill in the general information and presale details. For more information, see Ticket presale phases.
  3. 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: a bytes 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

  1. Visit app.roninchain.com and search for your deployed NFT contract.

  2. On the Contract tab, click Write Contract.

  3. 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
  4. 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:

  1. Open the Mavis Launchpad Template Figma file.

  2. Click an empty spot in the canvas to select any layers.

  3. Click the filename at the top of the page, then select Duplicate to drafts to create a copy.

  4. In your copy of the template, you can now add or remove the blocks to create your own layout.

  5. After you created the layout that fits your project, generate a shareable link to the Figma board.

  6. 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.