> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flipsuite.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating raffles

> Learn how to create raffles using your Flipwallet.

## Overview

With Flipsuite, you can create raffles directly in Discord through raffle commands.
There are multiple ways to create raffles which we'll explain in detail down below.

## Commands

### `/raffle token`

This command is used to create token raffles with one of the [supported tokens](https://flipsuite.xyz/tokens).

<Accordion title="Command arguments">
  <ParamField body="token" type="string" required>
    One of the [supported tokens](https://flipsuite.xyz/tokens) you want to raffle.
  </ParamField>

  <ParamField body="amount" type="string" required>
    Amount to raffle. You can use "%" and "\$" for relative amounts. **It's shared between all winners**.
  </ParamField>

  <ParamField body="countdown" type="string" default="5 minutes">
    Countdown duration in minutes before the raffle ends.
  </ParamField>

  <ParamField body="comment" type="string">
    Note that will be displayed in the raffle message.
  </ParamField>

  <ParamField body="anonymous" type="boolean">
    Whether you want to create the raffle anonymously or not.
  </ParamField>

  <ParamField body="max-enters" type="number" default={10}>
    A total number of people who can enter the raffle.
  </ParamField>

  <ParamField body="max-winners" type="number" default={1}>
    Number of people who can win the raffle.
  </ParamField>

  <ParamField body="allowed-users" type="string">
    Users and/or roles allowed to enter the raffle. Start typing "@" and select one or more users/roles.
  </ParamField>

  <ParamField body="forbidden-users" type="string">
    Users and/or roles forbidden from entering the raffle. Start typing "@" and select one or more users/roles.
  </ParamField>

  <ParamField body="count" type="number" default={1}>
    Number of consecutive raffles to create.
  </ParamField>

  <ParamField body="delay" type="number" default={1}>
    Delay (in minutes) between consecutive raffles.
  </ParamField>
</Accordion>

### `/raffle nft`

This command is used to create NFT raffles with one of the NFTs from your `/inventory`.

<Accordion title="Command arguments">
  <ParamField body="chain" type="string" required>
    One of the [supported chains](https://flipsuite.xyz/tokens).
  </ParamField>

  <ParamField body="nft" type="string" required>
    NFT to raffle.
  </ParamField>

  <ParamField body="amount" type="number" default={1}>
    Number of NFTs to raffle (applicable only to ERC-1155 tokens).
  </ParamField>

  <ParamField body="countdown" type="string" default="5 minutes">
    Countdown duration in minutes before the raffle ends.
  </ParamField>

  <ParamField body="comment" type="string">
    Note that will be displayed in the raffle message.
  </ParamField>

  <ParamField body="anonymous" type="boolean">
    Whether you want to create the raffle anonymously or not.
  </ParamField>

  <ParamField body="max-enters" type="number" default={10}>
    A total number of people who can enter the raffle.
  </ParamField>

  <ParamField body="allowed-users" type="string">
    Users and/or roles allowed to enter the raffle. Start typing "@" and select one or more users/roles.
  </ParamField>

  <ParamField body="forbidden-users" type="string">
    Users and/or roles forbidden from entering the raffle. Start typing "@" and select one or more users/roles.
  </ParamField>
</Accordion>

### `/raffle role`

This command is used to create Discord role raffles.

<Accordion title="Command arguments">
  <ParamField body="role" type="role" required>
    Discord role to raffle.
  </ParamField>

  <ParamField body="duration" type="string">
    Duration of the role to raffle. If omitted, the role will be granted forever.
  </ParamField>

  <ParamField body="countdown" type="string" default="5 minutes">
    Countdown duration in minutes before the raffle ends.
  </ParamField>

  <ParamField body="comment" type="string">
    Note that will be displayed in the raffle message.
  </ParamField>

  <ParamField body="anonymous" type="boolean">
    Whether you want to create the raffle anonymously or not.
  </ParamField>

  <ParamField body="max-enters" type="number" default={10}>
    A total number of people who can enter the raffle.
  </ParamField>

  <ParamField body="max-winners" type="number" default={1}>
    Number of people who can win the raffle.
  </ParamField>

  <ParamField body="allowed-users" type="string">
    Users and/or roles allowed to enter the raffle. Start typing "@" and select one or more users/roles.
  </ParamField>

  <ParamField body="forbidden-users" type="string">
    Users and/or roles forbidden from entering the raffle. Start typing "@" and select one or more users/roles.
  </ParamField>

  <ParamField body="count" type="number" default={1}>
    Number of consecutive raffles to create.
  </ParamField>

  <ParamField body="delay" type="number" default={1}>
    Delay (in minutes) between consecutive raffles.
  </ParamField>
</Accordion>

<Warning>
  Flippy can only grant and revoke roles from users in your server that are **below its role** in your server's
  role hierarchy. You can access it by going to the `Roles` tab in your server settings.

  <Frame caption={"Example server role hierarchy"}>
    <img src="https://mintcdn.com/flipsuite/bnM5dvoJ_bEaUYYE/images/rewards/role-hierarchy.png?fit=max&auto=format&n=bnM5dvoJ_bEaUYYE&q=85&s=4ab2873db4e56ab7bb70d429625ad176" className="rounded-lg" width="715" height="196" data-path="images/rewards/role-hierarchy.png" />
  </Frame>

  In the example above, Flippy can only grant the "Verified - Tier 2" role to your community members. It won't have
  access to the "Verified - Tier 3" role because it's above the bot's role.
</Warning>

### `/raffle custom`

This command is used to create raffles for custom items.

<Accordion title="Command arguments">
  <ParamField body="prize" type="string" required>
    Prize description.
  </ParamField>

  <ParamField body="countdown" type="string" default="5 minutes">
    Countdown duration in minutes before the raffle ends.
  </ParamField>

  <ParamField body="comment" type="string">
    Note that will be displayed in the raffle message.
  </ParamField>

  <ParamField body="anonymous" type="boolean">
    Whether you want to create the raffle anonymously or not.
  </ParamField>

  <ParamField body="max-enters" type="number" default={10}>
    A total number of people who can enter the raffle.
  </ParamField>

  <ParamField body="max-winners" type="number" default={1}>
    Number of people who can win the raffle.
  </ParamField>

  <ParamField body="allowed-users" type="string">
    Users and/or roles allowed to enter the raffle. Start typing "@" and select one or more users/roles.
  </ParamField>

  <ParamField body="forbidden-users" type="string">
    Users and/or roles forbidden from entering the raffle. Start typing "@" and select one or more users/roles.
  </ParamField>

  <ParamField body="count" type="number" default={1}>
    Number of consecutive raffles to create.
  </ParamField>

  <ParamField body="delay" type="number" default={1}>
    Delay (in minutes) between consecutive raffles.
  </ParamField>
</Accordion>

## Examples

### Create token raffle

To create a token raffle that can be entered by everyone, simply choose a token and its amount.

<Frame caption={"Creating a token raffle"}>
  <img src="https://mintcdn.com/flipsuite/3NPkqtLtEVXfOW7V/images/modules/tipping/raffle-token-command.png?fit=max&auto=format&n=3NPkqtLtEVXfOW7V&q=85&s=83617393168d3c80ecf318f3c9af6bd0" className="rounded-lg" width="567" height="115" data-path="images/modules/tipping/raffle-token-command.png" />
</Frame>

**Result:**

<Frame caption={"Default token raffle message"}>
  <img src="https://mintcdn.com/flipsuite/3NPkqtLtEVXfOW7V/images/modules/tipping/raffle-token-result.png?fit=max&auto=format&n=3NPkqtLtEVXfOW7V&q=85&s=447af710139d5c79fdfb7e1a1ac3f8ef" className="rounded-lg" width="382" height="256" data-path="images/modules/tipping/raffle-token-result.png" />
</Frame>

### Create NFT raffle

To create an NFT raffle that can be entered by everyone, simply choose a token and its amount.

<Frame caption={"Creating an NFT raffle"}>
  <img src="https://mintcdn.com/flipsuite/arYEkkufl56u1aRT/images/modules/tipping/raffle-nft-command.png?fit=max&auto=format&n=arYEkkufl56u1aRT&q=85&s=366c0a07ba09d7a596ec89d010b673ba" className="rounded-lg" width="797" height="111" data-path="images/modules/tipping/raffle-nft-command.png" />
</Frame>

**Result:**

<Frame caption={"Default NFT raffle message"}>
  <img src="https://mintcdn.com/flipsuite/arYEkkufl56u1aRT/images/modules/tipping/raffle-nft-result.png?fit=max&auto=format&n=arYEkkufl56u1aRT&q=85&s=1d361c934c57b7a6da4e90dc726e11a4" className="rounded-lg" width="380" height="250" data-path="images/modules/tipping/raffle-nft-result.png" />
</Frame>

### Create role raffle

To create a Discord role raffle that can be entered by everyone, simply choose a token and its amount.

<Frame caption={"Creating a role raffle"}>
  <img src="https://mintcdn.com/flipsuite/3NPkqtLtEVXfOW7V/images/modules/tipping/raffle-role-command.png?fit=max&auto=format&n=3NPkqtLtEVXfOW7V&q=85&s=27a57c1e556873f0770c7a23c55309a3" className="rounded-lg" width="842" height="116" data-path="images/modules/tipping/raffle-role-command.png" />
</Frame>

**Result:**

<Frame caption={"Default role raffle message"}>
  <img src="https://mintcdn.com/flipsuite/3NPkqtLtEVXfOW7V/images/modules/tipping/raffle-role-result.png?fit=max&auto=format&n=3NPkqtLtEVXfOW7V&q=85&s=1abe1ef0d2175c44da5802fc8e04dda6" className="rounded-lg" width="331" height="265" data-path="images/modules/tipping/raffle-role-result.png" />
</Frame>

### Create custom raffle

To create a custom item raffle that can be entered by everyone, simply choose a token and its amount.

<Frame caption={"Creating a custom raffle"}>
  <img src="https://mintcdn.com/flipsuite/arYEkkufl56u1aRT/images/modules/tipping/raffle-custom-command.png?fit=max&auto=format&n=arYEkkufl56u1aRT&q=85&s=3aac7b0fa2de61a8cae4fa8faeec6bb0" className="rounded-lg" width="761" height="115" data-path="images/modules/tipping/raffle-custom-command.png" />
</Frame>

**Result:**

<Frame caption={"Default custom raffle message"}>
  <img src="https://mintcdn.com/flipsuite/arYEkkufl56u1aRT/images/modules/tipping/raffle-custom-result.png?fit=max&auto=format&n=arYEkkufl56u1aRT&q=85&s=c00088f7b69136029f0ad717ac606da0" className="rounded-lg" width="296" height="270" data-path="images/modules/tipping/raffle-custom-result.png" />
</Frame>

### Create raffle for specific users

To create a raffle that can only be entered by specific users, mention users and/or roles that are allowed to enter
in the `allowed-users` command argument. If you want to restrict some users and/or roles from entering the raffle,
mention them in the `forbidden-users` command argument instead.

<Frame caption={"Creating a raffle for specific users"}>
  <img src="https://mintcdn.com/flipsuite/3NPkqtLtEVXfOW7V/images/modules/tipping/raffle-restricted-command.png?fit=max&auto=format&n=3NPkqtLtEVXfOW7V&q=85&s=844fa5d0578f0a1f79f8aa87b61fc88b" className="rounded-lg" width="1174" height="112" data-path="images/modules/tipping/raffle-restricted-command.png" />
</Frame>

**Result:**

<Frame caption={"Raffle message with restricted entries"}>
  <img src="https://mintcdn.com/flipsuite/3NPkqtLtEVXfOW7V/images/modules/tipping/raffle-restricted-result.png?fit=max&auto=format&n=3NPkqtLtEVXfOW7V&q=85&s=2e0a714990c5619f7ea5d706ca7aec9d" className="rounded-lg" width="380" height="347" data-path="images/modules/tipping/raffle-restricted-result.png" />
</Frame>

### Create repeating raffle

To create a repeating raffle, simply fill in the `count` and `delay` command fields. Raffles created this way will
repeat one after another with the delay set by the `delay` field.

For example, to schedule a raffle that is created 5 minutes after the previous one ends for 3 consecutive times,
you would enter `count:3` and `delay:5`, as shown in the screenshot below.

<Frame caption={"Creating a repeating raffle"}>
  <img src="https://mintcdn.com/flipsuite/3NPkqtLtEVXfOW7V/images/modules/tipping/raffle-repeated-command.png?fit=max&auto=format&n=3NPkqtLtEVXfOW7V&q=85&s=e9c2ae2f3346f2125480533a36a0dc55" className="rounded-lg" width="786" height="114" data-path="images/modules/tipping/raffle-repeated-command.png" />
</Frame>

**Result:**

<Frame caption={"Repeating raffle message"}>
  <img src="https://mintcdn.com/flipsuite/3NPkqtLtEVXfOW7V/images/modules/tipping/raffle-repeated-result.png?fit=max&auto=format&n=3NPkqtLtEVXfOW7V&q=85&s=2d4f4eaf5e4f5333228623800dc238e0" className="rounded-lg" width="464" height="252" data-path="images/modules/tipping/raffle-repeated-result.png" />
</Frame>

To cancel a repeating raffle, just execute the `/cancel type:Raffle` command and select a repeating raffle to cancel.

<Frame caption={"Cancelling a repeating raffle"}>
  <img src="https://mintcdn.com/flipsuite/3NPkqtLtEVXfOW7V/images/modules/tipping/raffle-repeated-cancel.png?fit=max&auto=format&n=3NPkqtLtEVXfOW7V&q=85&s=5fe15d7267d8f8f1549e43948a80a3b7" className="rounded-lg" width="355" height="162" data-path="images/modules/tipping/raffle-repeated-cancel.png" />
</Frame>

## Settings

You can modify the following account-wide tipping settings in your [/profile](/flippy/commands/profile):

* The minimum account age that's required to enter your airdrops and raffles.

<Frame caption={"Profile tipping settings"}>
  <img src="https://mintcdn.com/flipsuite/NgsjeEOhwOTbzIyY/images/flipwallet/profile-tipping-settings.png?fit=max&auto=format&n=NgsjeEOhwOTbzIyY&q=85&s=1b43c8056faccfdd9957e93fac659d26" className="rounded-lg" width="482" height="408" data-path="images/flipwallet/profile-tipping-settings.png" />
</Frame>

## Permissions

By default, only admins can create role and custom raffles in your server. If you wish to also allow your server
mods to create them, you can do so via [control panel](/quickstart#step-2-setup-your-control-panel) in Discord.

Simply go to `⚙️ settings > 💸 tipping > 🔐 permissions` until you are here:

<Frame caption={"Tipping permission settings in the control panel"}>
  <img src="https://mintcdn.com/flipsuite/arYEkkufl56u1aRT/images/modules/tipping/permissions.png?fit=max&auto=format&n=arYEkkufl56u1aRT&q=85&s=93502bf01df552f3fd7d6a5aca205d22" className="rounded-lg" width="604" height="467" data-path="images/modules/tipping/permissions.png" />
</Frame>
