I’m the developer of STREAMVERSE, a panel extension (a community pet, quests and viewer profiles; no Bits, no purchases, no chat, no random rewards).
I’d like to sell streamers a one-time license on my own store (Shopify/Etsy). After purchase, I activate their channel on my backend (EBS). Channels without a license see a short “not active on this channel” message inside the extension. The extension contains no price, no purchase link and no payment flow for streamers or viewers.
Guideline 5.1 allows compensation from broadcasters, but I couldn’t find anything about the purchase happening outside Twitch.
Is selling access this way (payment off-platform, license checked by the EBS) allowed for a released extension?
Is there anything the extension or its listing must show or disclose about the license?
5.1 Extensions may provide differentiated experiences or functionality to broadcasters, in exchange for compensation from broadcasters. Examples: tiered access to features or purchasable plugins to add functionality.
differentiated experiences as in it must do something when a caster hasn’t paid, not do nothing/have nothing shown to viewers*
*this is my interpretation.
Theres no mechanism for handling this on site so off site is fine/expected.
Payments being offsite yes/is expected.
Flat pay to use is not allowed*
*except when using allow list to block access as the streamer has paid for access/it to be built which then is reviewed under a different context (see 4.10 regarding global overlay extensions). Again this is my inerpreation. As the policy states “differentiated access/features”
Policy aside: it should be noted on the extension details page as otherwise you are gonna get a high bounce rate
Disclaimer: I am not a laywer and this isn’t legal advice and the bulk of your query is pertianing to legal advice
You cannot sell this access using Bits, as that breaks our Bits Acceptable Use Policy. If you’re using your own off-site purchasign then that should be fine.
The viewer-facing half of the Extension cannot have any links to purchase access. Your Configuration (streamer-facing half) is allowed to have these linkouts.
Do not imply that Twitch is related to your sale, or that Twitch provides any warranty. All Terms of Sale and other compliance expectations for local laws is on you.
As Barry said, for UX purposes you should note this on your Extension details page, and also note it in your Configuration very clearly.
Also, do not utilize the Streamer Allowlist for this. We do not expedite reviews because of allowlist changes, so if you go that route then you’ll end up waiting the regular Extension Review SLA for each person added.
Your Extension still has to follow all other Extension guidelines regardless of being public or paywalled.
Remember to grant access to /qa_moderation at the very least, and preferably also /qa_moderation3. These are our primary review channels.
Note in your review notes that the access is granted for these channels. This helps us test functionality on non-allowed channels.
My extension is publicly installable, but its functionality requires an active paid subscription on my website. The subscription status is verified by my backend/EBS.
I actually received a rejection from Twitch QA today specifically telling me that, because the extension requires a paid subscription, I need to use the Streamer Allowlist.
This seems to conflict with the guidance here saying that the Streamer Allowlist should not be used for managing paying customers, especially since every change to the allowlist would require submitting the extension for review again.
Could you clarify which approach Twitch expects us to follow in this situation?
Ideally, I would like to keep the extension public and have my backend determine whether the broadcaster has an active subscription, rather than having to update the Twitch Streamer Allowlist for every new subscriber.
I actually received a rejection from Twitch QA today specifically telling me that, because the extension requires a paid subscription, I need to use the Streamer Allowlist.
Can you email developers@twitch.tv about this situation and include your Extension name + Client ID?