Testing Bits in Extensions

We know how important having a high quality monetization experience is for your Twitch Extensions. To help you ship monetized Extensions with a higher degree of confidence, we’re making it easier to test Bits in Extensions on your own channel. Developers can now activate Bits-enabled Extension versions that are in a testing state on their own channel without needing Partner or Affiliate status and Bits used in the Extension won’t be deducted from their wallet. Please note that if you are trying to use Bits on a channel which is not your own, it will consume those Bits on released SKUs regardless of the Extension state. The table below summarizes the changes.

Previously, this functionality was only available with product SKUs in development. For more details, you can refer to the documentation.

Next up, we are exploring ways to improve testing Bits-in-Extensions including released versions. As we reach product milestones that enable this functionality we will make an announcement so stay tuned for more.

As always, please let us know your feedback so that we can continue to improve the tools you rely on to build on Twitch.

1 Like

Just to confirm, does this mean that once again a test channel, that’s not an affiliate/partner, running an in-testing version of an extension will be able to use all the appropriate functions related to bits-in-extensions, such as getProducts as well as useBits?

It was somewhat of a concern that a couple months ago the decision was to remove the ability of non-partner/affiliate test accounts from being able to use getProducts, which hampered the development of bits-in-extension features as the partners we work with aren’t always available to help test, nor is it really appropriate to test such features in what I consider a production environment. So its great to see that more work has been done on making these part of the development process easier.

Also, will setUseLoopBack still be unchanged in that if that is set to true then the the process is just simulated and that usage will succeed with bits not being consumed regardless of type of channel/extension status?

Hi Dist,

You are correct, a test channel will be able to successfully trigger bits-in-extension functionality without bits being consumed as long as the testing user is on its own channel and the extension is in a testing version. Our main reason for this change is so developers do not have to go to their affiliates or partners in order to test an extension.

In regards to your concern around get Products, you should be able to call getProducts from any channel. The call was restricted for a couple days when we introduced a new functionality but that bug has been fixed. Please let me know if you still encounter issues with that call.

setUseLoopBack functionality is specific to the helper and remained untouched.

This chart is great, but what about the case where the extension not in a testing state, but the bit SKUs are still “In Development”. It would be nice to get an updated chart with the full breakdown.

Hey billygerhard,

As long as a SKU is marked as “in development” all transactions regardless of channel or extension state will succeed without consuming bits. The feature above specifically is designed to cover the workaround of creating a new SKU in order to test functionality.


Hey @Oroga

Question though on the isBitsEnabled function on the Extension Helper.
This is always coming as false in our own testing/development channel.

Should we develop the bits in our extension with a leap of faith that this should work correctly when the extension gets in production?
We aim to not show bits related functionality on channels that this value comes as false, which I assume is the correct path to follow.

This flag will be false if the channel isn’t affiliate+ (the flag is representative of live not of a dev state)

So you need to bypass this check if you check the check in your code in the development realm.

You can use query string parameters to check the state of the extension Extensions Reference | Twitch Developers