Run a free giveaway in 5 steps
- In the popup, open Giveaway Options. Leave the ID as
defaultand the keyword as!enter. Keep ticket price and point prize at0. - Pick a Winner card, Name reel, or Community wheel. Preview it, then copy its link into OBS as a Browser Source.
- Click Open entries. Viewers type the keyword in chat to enter.
- Click Close entries, then Draw winner. (Drawing closes entries for you if you forget.)
- Click New round for another draw. Past winners stay in the history.
The old standalone community wheel still works if you leave &managed off the link. Points and remote controls need the managed link.
Sell tickets for SSN points
- Turn on the Loyalty Points System in the popup. (These are SSN points, not Twitch channel points.)
- In Giveaway Options, open Tickets and point prizes. Set Points per ticket and Tickets per viewer, maximum.
- Click Open entries. For a giveaway named
friday, a viewer buys 5 tickets with!ticket friday 5. - See who entered under Manage giveaways and history.
| When this happens… | The points… |
|---|---|
| A viewer buys tickets | Are held. They can't be spent elsewhere. |
| The viewer doesn't have enough | Aren't charged. No tickets. |
| You draw a winner | Are spent. |
| You click Cancel and refund | Go back to everyone. |
| You remove one viewer before the draw | Go back to that viewer. |
Give away points
- Before opening entries, set Point prize per winner and Number of prizes.
- Open entries as usual.
- Draw one winner at a time. Each winner gets the prize added to their points.
Prize points are new points, not taken from ticket sales. The most you can pay out is prize × number of prizes.
Games with point rewards
Number Hunt
- Set the type to Number Hunt (host-controlled), Points per ticket
0, and Number of prizes1. Add a point prize if you want one. - Social Stream picks a secret number from 1 to 100.
- Players guess with
!guess friday 50(use your giveaway ID).
Wrong guesses narrow the range for everyone. The first right answer wins. One guess per viewer every 5 seconds.
Show it with the giveaway display or games/numberhunt.html?session=YOUR_SESSION&managed&giveaway=friday. The regular games don't award SSN points.
Coin Flip Pot
- Set the type to Coin Flip Pot, Points per ticket
1, Number of prizes1, and Point prize per winner0. - Viewers bet with
!ticket friday 3 headsor!ticket friday 3 tails. - Close entries and draw. It's a 50/50 flip, whatever the bets.
Winners get their bet back plus a share of the losers' bets, by bet size. No fee, no new points. Example: winners bet 2 and 1, losers bet 5, so the 8-point pot pays 5 and 3.
Both sides need a player, or the draw is refused. Cancel before the draw to refund everyone.
How leftover single points are split
Leftover points go to the biggest fractional shares first. Ties go to whoever entered first.
Run several giveaways at once
- Give each a short Giveaway ID (letters, numbers,
-,_) and add&giveaway=IDto its OBS link. - Ticket and guess commands name the giveaway, like
!ticket friday 5. - Give each free giveaway its own keyword. A shared keyword won't enter both.
- All tickets come out of the viewer's one points balance.
The OBS display
- Use a 1280 × 720 Browser Source. The background is see-through unless you pick Themed panel.
- The wheel shows up to 120 names, but the winner is picked from every ticket.
- After a reconnect, it shows the saved result. Reduced-motion settings skip the animation.
- Social Stream can't tell whether the OBS scene is live.
Event Flow
- Add the Giveaway / Tickets action (under the points actions).
- Pick what it does: Enter free giveaway, Buy tickets, Grant free tickets, Close entries, Draw winner, Cancel and refund, or Query state.
- Pick the giveaway ID and ticket count. For a pot, pick heads or tails.
It acts for the viewer who sent the message. Put a trusted trigger or filter before grants and host controls.
More Event Flow details
- If it fails, dependent actions stop. The chat message still shows.
- The result is in
meta.giveawayControlResult. - The test panel only simulates it. For real tests, use a separate host or profile.
- The balance is checked when it runs, so the entry message can't earn its own last point.
- Repeat protection is strongest on sources with their own message IDs.
- Scheduled events with no viewer can't buy tickets.
Stream Deck and API
The Stream Deck plugin has: Open giveaway, Close giveaway, Draw giveaway, Cancel and refund, New giveaway round, and Giveaway state.
- They use the
defaultgiveaway. For another, put{"giveawayId":"friday"}in the value field. Open giveaway also takes aconfigobject. - A key confirms Social Stream replied, not that OBS shows it. If it times out, check the state before drawing again.
Buying tickets through the API
{"protocol":2,"action":"buygiveawaytickets","get":"callback-1","value":{"giveawayId":"friday","roundId":"ROUND_ID","operationId":"purchase-123","count":5,"actor":{"chatname":"Avery","type":"youtube","userid":"SOURCE_USER_ID"}}}
operationIdnames the purchase;getnames the reply.- Keep the same operation ID when retrying. Use a new one for a new purchase.
History and backups
Manage giveaways and history shows rounds, entries, and winners. You can Export winner history (JSON) or save a full points and giveaway backup. Nothing is uploaded.
Restore a backup
Only works on a fresh host with no points or giveaways.
- Keep the old host turned off. Open SSN in a fresh browser profile and open the giveaway manager.
- Under Recover on a fresh host, pick your full backup. Wait for the message and note the session ID it lists.
- In the popup's Session Options, enter that session ID.
- Back in the manager, pick the giveaway ID and click Refresh. Check the rules, entries, and winners. Rounds come back closed.
- Reopen, draw, or Cancel and refund. Then save a new backup.
More about where data lives
- Points live in this browser or app profile and don't sync elsewhere. Rounds are kept per session.
- Clearing browser data can delete them, so keep backups outside that profile.
- Balance-only imports can't restore held tickets. Resetting points is blocked while tickets are held, and doesn't erase giveaway history.
- Unconfirmed sticker purchases are released after a timeout.
- No cloud backup or cash-out. Server backup may come later.
Fix problems
| Problem | Try this |
|---|---|
| A viewer can't enter | Check the ID, keyword, members-only, that entries are open, and that the platform is captured. Bot, private, old, replayed, and test messages never count. |
| A viewer's account looks wrong | A name change can confuse wallets. Check on the host. Platforms are never merged. |
| Buttons don't respond | Make sure the right SSN host is running with host controls on. Refresh before retrying. |
| Can't reset or import points | Finish or cancel held ticket purchases first. For a backup with held tickets, use full recovery. |
!spend says unknown reward | It needs a set-up reward with a price. |
Loyalty points · Games · Polls and waitlists · API reference · Event reference