Fealty
Raffles

Raffle types

Random draws, first-come-first-serve and wallet collections, built for collab distribution.

Raffles are how communities distribute whitelist spots, allocations and giveaways. Fealty covers the whole loop: gated entry, verified X tasks, an automatic draw, winner announcements and a wallet list you can hand to a partner project.

The three types

TypeWho wins
RaffleA weighted random draw picks the configured number of winners. More entries = better odds.
FCFSThe first N qualified entrants win, in entry order. The raffle closes the moment it fills and winners are announced right away.
Wallet collectionNo draw: everyone who qualifies is collected. Use it when a partner asks for "your holders' wallets".

Where people enter

  • Discord: /raffle-post drops the raffle with an Enter button into any channel.
  • The raffle page: every raffle has a shareable page with the banner, a requirement checklist and the entry button. Share it on X; anyone can sign in with Discord to enter, which is exactly how partner communities flow into your server when you gate entry on membership.

Visibility

Every raffle has a visibility setting that is enforced server-side on the hub, the raffle page and entry itself:

VisibilityWho can see and enter
Public (default)Anyone with the link can view the raffle page, no sign-in needed; entering takes a Discord sign-in. Listed on your community hub. This is the mode for collab links shared with partner communities.
CommunityOnly members of your Discord server. Others see a "join the server" prompt on the raffle page; signed-out visitors are asked to sign in first.
PrivateOnly members holding one of the Discord roles you pick. Hidden from everyone else, including the hub listing.

Managers always see every raffle. For private raffles, post the announcement in a channel only the selected roles can see; the entry gate holds either way.

Entries and odds

Everyone starts with one entry. Two levers change that, and they add up:

entries = NFT entries + best role bonus

Entry odds (in the raffle's advanced settings) decide the NFT part:

ModeNFT entries
Equal (default)1 for everyone
By NFT count1 per NFT held (staked NFTs count). Whale-favoring
TiersA ladder you define: hold at least the tier's count, get the tier's entries. Highest matched tier wins; below the first tier is still 1

A typical ladder is 1+ → 1, 5+ → 2, 10+ → 3, 20+ → 4, 50+ → 5: bigger holders get better odds without a 50-NFT wallet drowning everyone else. Both modes need a Holds NFTs requirement to count against. Set your ladder once under Settings → Default raffle odds and every new raffle starts with it.

Role bonuses are the second lever. Each Discord role row on a raffle has two switches: Required (the role gates entry; several required rows mean "any of these") and +N entries (added on top of the NFT entries for members holding it). A row can be bonus-only, which is how "OG holders get +2 but anyone can enter" is expressed. When several roles match, the best bonus applies; bonuses never stack.

Re-checking holdings at the draw

Entries snapshot holdings when a member enters, and members can press Recheck my entries on the raffle page any time to refresh after buying more (the Discord confirmation and the page both say how many more NFTs reach the next tier). For By NFT count and Tiers raffles the draw goes one step further: with Re-check holdings when winners are drawn on (the default), every entrant's holdings and roles are read again right before the draw, so buyers climb, sellers drop, and anyone below the requirement at that moment is disqualified with the reason shown on their raffle page. Entrants are told up front on the raffle page and in the Discord post. The re-check uses the same chain reads as verification, never engagement credit; if a read fails the draw pauses and retries instead of disqualifying anyone.

On this page