Create a raffle
Title, end time, winners, requirements, Discord — then publish a public URL.
Open tesserapp.org/create (or Create in the header). The live preview on the right updates as you type. Click Create raffle when the form is ready.
Before you start
- Signed in with Discord — Quickstart
- Optional: team if several people will host
- For a Discord post or a role gate: Tessera bot in that server — Discord bot setup
Tabs
| Tab | You set |
|---|---|
| Details | Type (Individual / Team), title, description, winner count, end date, chain for wallet gates |
| Requirements | Who can enter. Add Join Discord only if entrants must be in a server. |
| Discord | Server, channel, optional ping. Ping more than one role (Team and Collaborator). Invite link is optional. Role gates still need the bot in that server. |
| Advanced | Auto-draw, exclude team, winner role (auto-created roles cannot be @mentioned; they drop 72 hours after mint), Discord optional (people can enter without Discord; gated roles still required — put extras in Extra tickets), CM note, entry question, winner info, private entries (hides the count and latest entries on the public page) |
Raffle details
Choose individual or team, then fill in your raffle details.
Blockchain wallet
Require entrants to have a specific wallet type connected to their profile
Entry requirements
Optional gates. Discord server membership is verified automatically — entrants must have their accounts linked in their profile.
Roles
@OG · 5x@Whale · 10x@Member · 2xFollows
@alphaCommunityokTweet interactions
Account filters (optional)
Blue Verified, min followers, tweets, account age
Verified email required
Entrants must have a verified notification email linked to their account
Discord posting
Optionally announce this raffle in a Discord channel. Entrants can click Enter directly from Discord.
Adds a “NEW RAFFLE IS LIVE!” line with this role
Where winners are announced. Defaults to post channel.
Posting to your team's Discord server
Advanced options
All optional — enable only what you need.
Auto-draw winners when raffle ends
Winners will be drawn automatically once the raffle end time passes
Make Discord tasks optional
Users can enter with only X/Twitter tasks completed. Discord members still earn extra tickets from role multipliers.
CM note
Private note visible only to your team members — useful for CM contact info, Discord links, or internal context
Custom entry question
Ask entrants something when they join — answers visible in your winner hub
Private winner info
Send a private message or unique redemption codes shown only to winners after the draw
Private entry list
Hide the entry count and latest entries on the raffle page. You still see the full list in Winner Hub.
Illustrative UI sketch — not a live embed
Details
Type, title, description
Individual or Team. Title should name the prize (e.g. Discord Nitro · 1 year). Description is optional rules or context.
Winners and end date
How many win. Optional Split into GTD / FCFS. All entries win makes every entrant a winner (wallet collection). The numbered count stays the default. End date: pick a date or a preset (12h, 1d, 2d, 7d). On phone, use − / + next to winners, then tap outside.
Create auto-saves in this browser for 7 days. History restores an older checkpoint. A broken end date in a saved draft no longer crashes the page.
Wallet chain
ETH / EVM, Solana, Bitcoin, Zcash, NEAR, Sui, or Monero — only needed if you add a wallet gate. For Zcash, pick shielded (u1), unshielded (t1 / t3), or either. NEAR accepts named accounts (alice.near), 64-hex implicit IDs, and 0x ETH-implicit. Sui is 0x plus 64 hex characters. Monero is a mainnet address that starts with 4 or 8.
Team raffle: pick one or more teams — Tessera creates one raffle per team. Apply a team template to pre-fill that raffle (same four tabs as Create). Title, Project X, and banner stay per raffle. End date comes from the template duration if you set one.
Requirements
Requirements are the checks an entrant must pass before Enter raffle works. Set them on Create or Edit → Requirements.
Required checks are AND — every required one must pass. Discord roles are Gate (required to enter) or Extra tickets (bonuses only). Gate roles need any one, or all, depending on what you pick. Extra tickets never open the raffle.
For X Super Follow, entrants keep who they subscribe to public.
Discord
Account required, or a server + role. Pick the server, then roles. The bot must be in that server. A Discord invite on the raffle is optional.
| Setting | Meaning |
|---|---|
| Gated roles | Required to enter. Need any one, or all, if you pick more than one. Empty = joining the server is enough. |
| Extra tickets | Never required. Set tickets on each (1, 2, 5…). 0 extra is still 1 ticket. Roles list low → high. Best role wins or Stack. Passing the gate is 1 ticket, then extras add. Example: 1 + supporter 1 + booster 2 = 4. |
| Gate only (no extras) | Those ticket numbers are their ticket count. |
| No roles | Join the server only. |
| Server tag | Wear a Discord server tag (the 4-character badge on their name, like TESS). One tag at a time. Search the server in the dropdown, or Any server (tag only). Optional = extra tickets if they have it; required = they must be wearing that tag to enter. |
Gated vs Extra tickets
Gated roles stay required even if Make Discord tasks optional is on. Put booster / extra roles in Extra tickets so they never open a private raffle.
X / Twitter
| Task | Target |
|---|---|
| Follow | @handle |
| Like / repost / like+repost / reply | Full tweet URL (x.com/.../status/...) |
| Super Follow (paid subscribe) | Creator @handle — hard gate |
| Blue / min followers / min tweets / min age | Profile gates — who can enter. Linked X is not enough. Blue is X Premium / Verified (verified_type), not a leftover checkmark. Reconnect X if the snapshot is stale. |
Follow, like, repost, and reply are checked on Verify all / enter. Elite skips follow / like / repost / reply. Super Follow, required Discord (server, gated role, or tag), and Blue / followers / tweets / age are never skipped. Make Discord tasks optional lets people enter without joining Discord or linking an account. Gated roles still required — on the site, in Discord, and for Elite farm. Put booster / extra roles in Extra tickets. Leave the toggle off if join itself should be required.
Don't verify X requirements still shows who to follow and which tweet to like / repost / reply. Those social checks are skipped. Profile gates still block enter.
Every raffle includes two optional Tessera bonuses. Follow @tesserafi for +1 extra ticket in every raffle for the next 3 days. Be in the Tessera Discord for another +1 for the next 3 days. Missing either still enters. Hosts do not turn these on. They stack.
Wallet and email
Linked EVM, Solana, Bitcoin, Zcash, NEAR, Sui, or Monero wallet. Zcash raffles collect the kind the CM picked (shielded u1, unshielded t1/t3, or either). NEAR raffles accept a named account (alice.near), a 64-hex implicit ID, or 0x ETH-implicit. Sui raffles accept 0x plus 64 hex. Monero raffles accept a mainnet address that starts with 4 or 8. Optional verified email.
Super Follow lists
Tessera must see the Super Follow on their public subscriptions list. Hidden lists look like “not subscribed.” Entrants uncheck Hide your subscriptions at Profile customization. Discord embeds include this note.
Use roles you already have. Don’t stack every gate. Test with a second Discord. Save a set as a template.
After you create
You get a public URL. Copy it, or Post to Discord if the bot and channel are set.
The path comes from the title. Reusing a title after a delete still makes a new raffle with a new entry list.
If it fails
| You see | Do |
|---|---|
| Can’t change winners on phone | − / +, or type and tap outside |
| Something went wrong after History | Refresh, then Restore again — or Start new. Old checkpoints with a bad end date stay in History and load without crashing. |
| Server missing on Discord tab | Invite the bot to that server, then refresh — Discord bot setup. Multi-team create posts one Discord per team; each server needs the bot. |
| Discord role never passes | Bot in server, user has the role, user Reconnect Discord |
| X follow / RT fails | Reconnect X, wait a minute, Verify all |
| Super Follow miss | Unhide subscriptions, wait, Recheck. Blue check ≠ Super Follow |