Widgets — Authentication & permissions
OAuth scopes
The Widgets module uses the following OAuth scopes. The baseline ones are requested when a broadcaster connects their Twitch account; the rest are requested later, the first time the feature that acts with them is set up, so most permissions for a feature you don’t use are never granted.
| Scope | Why requested | When we ask |
|---|---|---|
channel:read:subscriptions | Receives new subs, resubs and gifted subs for alerts, the subathon timer and goals, and leaderboards. | At sign-in |
bits:read | Receives cheers and Power-ups for alerts, the subathon timer and goals, and leaderboards. | At sign-in |
moderator:read:followers | Receives follows for follower alerts and the subathon timer. | At sign-in |
channel:read:redemptions | Receives channel-point redemptions for the subathon goals ladder. | At sign-in |
user:read:chat | Receives Twitch chat notices, which carry the lifetime gift counts the gift leaderboard uses. | At sign-in |
user:bot | Required by Twitch, with user:read:chat and channel:bot, for the chat-notice subscription. | At sign-in |
channel:bot | Required by Twitch, with user:read:chat and user:bot, for the chat-notice subscription. | At sign-in |
channel:read:charity | Receives charity-campaign donations for alerts, goal overlays, and the subathon timer and goals. | At sign-in |
channel:read:polls | Receives poll starts so a poll overlay can put its card on screen. | At sign-in |
channel:read:predictions | Receives prediction starts so a prediction overlay can put its card on screen. | At sign-in |
EventSub subscriptions
The Widgets module creates none of these subscriptions itself (“consumer only”). The platform creates them for every channel whose plan includes Widgets, and delivers each event to Widgets over its internal fan-out.
Every subscription is created with the application access token (Twitch requires it for webhook transport). “Requires” lists the scopes the broadcaster must already have granted before Twitch will create the subscription.
| Type | Version | Requires | Condition keys | Description |
|---|---|---|---|---|
channel.cheer | 1 | bits:read | broadcaster_user_id | Bits cheered — leaderboard, subathon goals + timer, hype tally (consumer only) |
channel.bits.use | 1 | bits:read | broadcaster_user_id | Power-up bits — leaderboard ledger only (consumer only; cheer-type events are ignored, channel.cheer owns those) |
channel.subscribe | 1 | channel:read:subscriptions | broadcaster_user_id | New subscription — subathon goals + timer, hype tally (consumer only) |
channel.subscription.message | 1 | channel:read:subscriptions | broadcaster_user_id | Resub — subathon goals + timer, hype tally (consumer only) |
channel.subscription.gift | 1 | channel:read:subscriptions | broadcaster_user_id | Gifted subs — leaderboard, subathon goals + timer, hype tally (consumer only) |
channel.chat.notification | 1 | user:read:chat, user:bot, channel:bot | broadcaster_user_id, user_id | Chat notices — the Twitch lifetime-gift floor for the leaderboard (consumer only) |
channel.follow | 2 | moderator:read:followers | broadcaster_user_id, moderator_user_id | New follow — subathon timer (consumer only) |
channel.raid | 1 | — | to_broadcaster_user_id | Incoming raid — subathon timer (consumer only) |
channel.channel_points_custom_reward_redemption.add | 1 | channel:read:redemptions | broadcaster_user_id | Channel point redemptions — subathon goals; the same broadcaster-wide row rewards and chatters contend over (consumer only) |
stream.online | 1 | — | broadcaster_user_id | Stream goes live — leaderboard stream-window marker (consumer only) |
stream.offline | 1 | — | broadcaster_user_id | Stream ends — leaderboard stream-window marker (consumer only) |
channel.charity_campaign.donate | 1 | channel:read:charity | broadcaster_user_id | Charity donations — subathon goals + timer, goal overlays, alerts (consumer only) |
channel.poll.begin | 1 | channel:read:polls | broadcaster_user_id | A poll opened — poll overlays (consumer only) |
channel.prediction.begin | 1 | channel:read:predictions | broadcaster_user_id | A prediction opened — prediction overlays (consumer only) |
Share Feedback
Need help or want to chat? Join our Discord to get support, report bugs, and talk with other streamers.0 / 1000
Privacy
▸ What we're sending
| Module | — |
| Page | — |
| Browser | — |
| Screen | — |
| Channel | anonymous |
| Submitted | — |