Skip to content

Polls, predictions and channel points

When a channel you follow opens a poll or a prediction, it arrives in the merged feed as an event line you can click. The line opens a panel with the live tallies and, when the extension is installed, the buttons to take part. Redeeming channel points works the same way, from a button next to the chat input.

All of this is Twitch only. Kick and YouTube have no equivalent surface for a viewer to act on.

Click a poll line in chat. The panel shows every choice with its vote count and share, marks the one you picked, and marks the winner once the poll has ended. Clicking Vote casts your free vote.

If the broadcaster enabled channel-point voting on that poll, a second control appears underneath: pick a choice, pick how many extra votes you want, and the running cost is shown before you commit.

An ended poll still opens. You get the final numbers, read only.

Click a prediction line. The panel lists each outcome with the points staked, how many people are on it, its share of the pool and the payout ratio, and it says whether betting is open, locked, resolved or canceled.

Bet opens a box for the number of channel points to stake. Betting is only offered while the prediction is open, which is Twitch’s rule, not Pyre’s.

Seeing a prediction does not need the extension. Pyre reads active and locked predictions through its own server, so the tallies show up on a phone or in a browser with nothing installed. Placing the bet is the part that needs the extension, and the panel says so in place of the buttons:

Betting requires the Pyre.Chat browser extension on desktop.

The trophy button sits in the emote bar, just above the chat input, whenever you have a Twitch channel connected. It carries your points balance for the channel you are currently typing in, so switching channels switches the number.

  1. Click the trophy. The popover names the channel, shows your balance there, and lists that channel’s rewards cheapest first.

  2. Pick a reward. Only rewards that are enabled and in stock are listed, and anything you cannot afford is dimmed. Clicking one you cannot afford tells you what it costs and what you have, and does nothing else.

  3. Confirm. A reward that asks for a message gives you a box for it, and will not submit empty.

Your redemption appears in the chat feed immediately, without waiting for Twitch to echo it back, and the balance on the trophy drops by what you spent. When Twitch’s own event arrives a moment later it replaces that line rather than doubling it.

Among Twitch’s standard rewards, only Highlight My Message is supported. The others (modify colour, animated messages, celebrations and so on) each need their own call to Twitch that Pyre does not make, so they are left out rather than shown and broken. Custom rewards the broadcaster made themselves are all supported.

Not through Pyre. Every one of these actions is sent from your browser straight to Twitch’s own API, signed with your Twitch web credentials, by the extension. Pyre’s backend is not in the path and never sees the request.

That is not a design preference, it is the only thing that works. Twitch requires these calls to carry the credentials of its own web client. A token that Pyre issued is bound to Pyre, so a server-side version of this would be rejected every single time. The extension borrows exactly two of your own twitch.tv cookies to sign the call, sends them only to Twitch, and stores nothing. There is more detail in Install the browser extension.

The practical consequence is a good one: you are exactly as allowed as you would be on twitch.tv. A sub-only reward needs your sub, a bet needs the points in your balance, a locked prediction is closed to you here too. Pyre grants nothing and blocks nothing. When Twitch refuses, the reason Twitch gave is what you see.

Any action that needs the extension stops with this, rather than failing silently:

Pyre.Chat extension required

This action sends a request to Twitch on your behalf (predictions, redeems, polls) through the Pyre.Chat browser extension.

If you already installed it, refresh the page so Pyre.Chat can detect it.

The buttons are Not now and Get the extension, which opens the install page. The refresh line is worth taking literally: a page that was already open when you installed the extension has no way to notice it.