TesseraDocs

Winner Hub

Draw winners, replace a seat, announce on Discord, export.

Winner Hub is where you draw, fix a seat, announce, and export. Open it from the raffle page → Winners. Collab Managers linked to that team can open it, and so can the team owner and the person who created the raffle. MOD/NPC cannot. Everyone else sees a private page, including after announce.

The draw picks from every valid entry. Elite extra tickets always apply. Host control over extras comes back with Team Plans (TBA). If Auto-draw winners when raffle ends is on, the list fills at end time. Nothing posts to Discord until Announce to Discord.

tesserapp.org/raffle/abc123/winners
// Winners Hub

NFT Whitelist Drop

5

Winners drawn

847

Total entries

Aug 21

Ends

Preview ×5 draws Pre-draw winners Draw winners Announce to Discord#winners Re-announce Public

Draw = random shortlist. Pick / Remove on a row to change that seat. Nothing posts to Discord until Announce.

Discord Status Check both messages
Raffle embedSent
View message
Winner announcementNot announced
Winners (5)All Entries (847)
#01C
cryptowizard Discord @cryptowiz
[ PRE-DRAW ]Re-rollPickRemove

0x1a2b…7e8f

#02N
nftbuilder Discord @nftbuilder
[ PRE-DRAW ]Re-rollPickRemove

0x9f8e…1122

#03A
alphahunter Discord @alphahunter
[ PRE-DRAW ]Re-rollPickRemove

0xdead…ccdd

Illustrative UI sketch — not a live embed

Draw

Build the list

  • Preview ×5 draws — simulate only. Does not save winners.
  • Draw winners / Pre-draw — random shortlist. If some seats are already filled, Draw remaining keeps them.
  • All entries win — on at create. Draw gives a win to every entrant. No empty seats.
  • Re-run pre-draw — asks first, then throws the list out and draws again.

On each winner row:

ButtonWhat it does
Re-rollRandom new entrant for that seat
PickClick an entrant on Entries to take that seat
RemoveVacate the seat. Then Pick who fills it

Vacant seats show Pick. Click an entrant. Does not post to Discord.

Announce

When the list looks right, Announce to Discord. Order is always:

  1. Post the winners list in Discord — one compact line of mentions per tier (not one name per line)
  2. Then DM winners (if Wins is on in their profile)

The DM links to the raffle and names the community, with a link to its page and its Discord invite when one is set. Winner Hub stays with Collab Managers on that team.

If the raffle has a winner role, Tessera assigns it on announce. A tiered raffle gets one role per tier, named from the tier. One pool uses the role name you set. Auto-created roles cannot be @mentioned by everyone in the server. The role is assigned with the announce. A slow Discord post does not skip it. The Tessera role in that server needs Manage Roles, and it has to sit above the winner role.

Tessera removes auto-created winner / WL roles 72 hours after the project mints on the mint calendar. That window covers drops that slip a day or two. A role you picked from the server list stays. Roles for projects that already minted are cleaned up the same way.

After the first announce: pick a Channel → Re-announce. Remove / Pick / Re-roll still work — Discord stays as-is until you re-announce. Already-sent DMs are not unsent.

Visibility and export

Winner Hub stays with Collab Managers on that team. Signed-in users see their winning wallets on the project page (/project/{handle}). Export winners or entries for allowlists (CSV on the page, or Google Sheets). Winner Hub opens even when some profiles are incomplete.

Payout wallet

After the draw, a winner can paste the correct mint wallet on the raffle page. Seat stays. No re-roll.

On Winner Hub, Set wallet on a row does the same from your side. Export (CSV / Sheets) then uses that address.

If the raffle asked for Zcash u1 and an entry still has an ETH 0x… (old Elite auto-enter), export skips it and falls back to a linked u1 — or stays blank until they paste one.

TEAM wallets

Add TEAM wallets is extra rows for team member wallets. They are not prize seats. They still export in CSV / Sheets. Remove them with Remove on the TEAM tab.

Confirm Discord posts

Discord Status checks the real Discord messages (not just a saved id). Live on Discord means the post is there. Not on Discord means it was deleted or never landed — Re-post embed / Re-announce sends a new one. View message only shows when the post is live.

If it fails

You seeDo
Announce failsChannel perms — Discord bot setup, then announce again
Not on Discord / deletedRe-post embed or Re-announce — that sends a new message
Need a different person in a seatPick on that row, or Remove then Pick
Page error / sheet exportRefresh Winner Hub, then export again

Nothing posts until Announce

Draw, Pick, and Remove stay on the site. Re-announce when Discord should match.

Next

On this page