prv domain
Events restricted to the streamer and accounts they have granted access to. Primarily the same as the pub events but with extra information related to costs and revenue.
Subscribe with a prv/<ccUID> topic.
effect-request type
A viewer is attempting to redeem coins for an effect. Contains additional pricing and payment details.
Another VIEWER this effect was aimed at (viewer-to-viewer paybacks). target remains the streamer on these so this is what identifies who the effect was actually played on. Present only on viewer-aimed effects.
pooled?booleanpricenumberunitPricenumberquantity?numberrequestIDGameSessionRequestIDexample?booleanlocalTimestamp?numberadmin?booleanWhether the requester is an administrator.
viaTwitchExtension?booleanTrue when the request was sent from the Twitch extension. Paybacks can only reach viewers inside the extension, so the feed uses this to decide whether the payback action is offered as available.
paybackable?booleanTrue when a payback can be offered on this request (extension-sourced and the viewer allowed paybacks at request time). The feed hides the payback action when this is unset on an extension-sourced request; the server re-checks the live setting on click. The raw opt-out preference is never exposed.
paybackWindowEndsAt?numberEpoch ms deadline for the streamer to send a payback (acceptedAt + PAYBACK_SEND_WINDOW_MS). Server-enforced. Only set on paybackable success payloads.
When set, the refund or retry was performed by someone other than the host (e.g. an editor).
message?stringmessageID?stringSet on a parent effect's payloads once CHILD effect requests have been linked to it — chance (wheel/cards) winners and attachment-triggered effects. Lets the session event queue render the children nested under the parent entry. Carries only display info (no payment data).
parentRequestID?GameSessionRequestIDSet on payloads of CHILD effect requests (chance winners / linked attachment effects) — the ID of the parent request. The client uses this to route the child's timed updates into the parent's nested child row.
refundable?booleanTrue when this effect can be refunded (has a transaction and is not pooled). Allows host/editors to show the refund button without exposing payment details in public payloads.
notifyAfter?numberDelay 'success' notification in the extension by these milliseconds.
anonymous?booleantimestampnumbertimed-effect-update type
Private counterpart of pub timed-effect-update.
GameSessionPrivateTimedEffectUpdatePayload
timeRemainingnumberAnother VIEWER this effect was aimed at (viewer-to-viewer paybacks). target remains the streamer on these so this is what identifies who the effect was actually played on. Present only on viewer-aimed effects.
pooled?booleanpricenumberunitPricenumberquantity?numberrequestIDGameSessionRequestIDexample?booleanlocalTimestamp?numberadmin?booleanWhether the requester is an administrator.
viaTwitchExtension?booleanTrue when the request was sent from the Twitch extension. Paybacks can only reach viewers inside the extension, so the feed uses this to decide whether the payback action is offered as available.
paybackable?booleanTrue when a payback can be offered on this request (extension-sourced and the viewer allowed paybacks at request time). The feed hides the payback action when this is unset on an extension-sourced request; the server re-checks the live setting on click. The raw opt-out preference is never exposed.
paybackWindowEndsAt?numberEpoch ms deadline for the streamer to send a payback (acceptedAt + PAYBACK_SEND_WINDOW_MS). Server-enforced. Only set on paybackable success payloads.
When set, the refund or retry was performed by someone other than the host (e.g. an editor).
message?stringmessageID?stringSet on a parent effect's payloads once CHILD effect requests have been linked to it — chance (wheel/cards) winners and attachment-triggered effects. Lets the session event queue render the children nested under the parent entry. Carries only display info (no payment data).
parentRequestID?GameSessionRequestIDSet on payloads of CHILD effect requests (chance winners / linked attachment effects) — the ID of the parent request. The client uses this to route the child's timed updates into the parent's nested child row.
refundable?booleanTrue when this effect can be refunded (has a transaction and is not pooled). Allows host/editors to show the refund button without exposing payment details in public payloads.
notifyAfter?numberDelay 'success' notification in the extension by these milliseconds.
anonymous?booleantimestampnumbereffect-success type
Private counterpart of pub effect-success.
Another VIEWER this effect was aimed at (viewer-to-viewer paybacks). target remains the streamer on these so this is what identifies who the effect was actually played on. Present only on viewer-aimed effects.
pooled?booleanpricenumberunitPricenumberquantity?numberrequestIDGameSessionRequestIDexample?booleanlocalTimestamp?numberadmin?booleanWhether the requester is an administrator.
viaTwitchExtension?booleanTrue when the request was sent from the Twitch extension. Paybacks can only reach viewers inside the extension, so the feed uses this to decide whether the payback action is offered as available.
paybackable?booleanTrue when a payback can be offered on this request (extension-sourced and the viewer allowed paybacks at request time). The feed hides the payback action when this is unset on an extension-sourced request; the server re-checks the live setting on click. The raw opt-out preference is never exposed.
paybackWindowEndsAt?numberEpoch ms deadline for the streamer to send a payback (acceptedAt + PAYBACK_SEND_WINDOW_MS). Server-enforced. Only set on paybackable success payloads.
When set, the refund or retry was performed by someone other than the host (e.g. an editor).
message?stringmessageID?stringSet on a parent effect's payloads once CHILD effect requests have been linked to it — chance (wheel/cards) winners and attachment-triggered effects. Lets the session event queue render the children nested under the parent entry. Carries only display info (no payment data).
parentRequestID?GameSessionRequestIDSet on payloads of CHILD effect requests (chance winners / linked attachment effects) — the ID of the parent request. The client uses this to route the child's timed updates into the parent's nested child row.
refundable?booleanTrue when this effect can be refunded (has a transaction and is not pooled). Allows host/editors to show the refund button without exposing payment details in public payloads.
notifyAfter?numberDelay 'success' notification in the extension by these milliseconds.
anonymous?booleantimestampnumbereffect-retry type
Private counterpart of pub effect-retry.
Another VIEWER this effect was aimed at (viewer-to-viewer paybacks). target remains the streamer on these so this is what identifies who the effect was actually played on. Present only on viewer-aimed effects.
pooled?booleanpricenumberunitPricenumberquantity?numberrequestIDGameSessionRequestIDexample?booleanlocalTimestamp?numberadmin?booleanWhether the requester is an administrator.
viaTwitchExtension?booleanTrue when the request was sent from the Twitch extension. Paybacks can only reach viewers inside the extension, so the feed uses this to decide whether the payback action is offered as available.
paybackable?booleanTrue when a payback can be offered on this request (extension-sourced and the viewer allowed paybacks at request time). The feed hides the payback action when this is unset on an extension-sourced request; the server re-checks the live setting on click. The raw opt-out preference is never exposed.
paybackWindowEndsAt?numberEpoch ms deadline for the streamer to send a payback (acceptedAt + PAYBACK_SEND_WINDOW_MS). Server-enforced. Only set on paybackable success payloads.
When set, the refund or retry was performed by someone other than the host (e.g. an editor).
message?stringmessageID?stringSet on a parent effect's payloads once CHILD effect requests have been linked to it — chance (wheel/cards) winners and attachment-triggered effects. Lets the session event queue render the children nested under the parent entry. Carries only display info (no payment data).
parentRequestID?GameSessionRequestIDSet on payloads of CHILD effect requests (chance winners / linked attachment effects) — the ID of the parent request. The client uses this to route the child's timed updates into the parent's nested child row.
refundable?booleanTrue when this effect can be refunded (has a transaction and is not pooled). Allows host/editors to show the refund button without exposing payment details in public payloads.
notifyAfter?numberDelay 'success' notification in the extension by these milliseconds.
anonymous?booleantimestampnumbereffect-refund type
Private counterpart of pub effect-refund.
Another VIEWER this effect was aimed at (viewer-to-viewer paybacks). target remains the streamer on these so this is what identifies who the effect was actually played on. Present only on viewer-aimed effects.
pooled?booleanpricenumberunitPricenumberquantity?numberrequestIDGameSessionRequestIDexample?booleanlocalTimestamp?numberadmin?booleanWhether the requester is an administrator.
viaTwitchExtension?booleanTrue when the request was sent from the Twitch extension. Paybacks can only reach viewers inside the extension, so the feed uses this to decide whether the payback action is offered as available.
paybackable?booleanTrue when a payback can be offered on this request (extension-sourced and the viewer allowed paybacks at request time). The feed hides the payback action when this is unset on an extension-sourced request; the server re-checks the live setting on click. The raw opt-out preference is never exposed.
paybackWindowEndsAt?numberEpoch ms deadline for the streamer to send a payback (acceptedAt + PAYBACK_SEND_WINDOW_MS). Server-enforced. Only set on paybackable success payloads.
When set, the refund or retry was performed by someone other than the host (e.g. an editor).
message?stringmessageID?stringSet on a parent effect's payloads once CHILD effect requests have been linked to it — chance (wheel/cards) winners and attachment-triggered effects. Lets the session event queue render the children nested under the parent entry. Carries only display info (no payment data).
parentRequestID?GameSessionRequestIDSet on payloads of CHILD effect requests (chance winners / linked attachment effects) — the ID of the parent request. The client uses this to route the child's timed updates into the parent's nested child row.
refundable?booleanTrue when this effect can be refunded (has a transaction and is not pooled). Allows host/editors to show the refund button without exposing payment details in public payloads.
notifyAfter?numberDelay 'success' notification in the extension by these milliseconds.
anonymous?booleantimestampnumbereffect-failure type
Private counterpart of pub effect-failure.
temporary?booleanAnother VIEWER this effect was aimed at (viewer-to-viewer paybacks). target remains the streamer on these so this is what identifies who the effect was actually played on. Present only on viewer-aimed effects.
pooled?booleanpricenumberunitPricenumberquantity?numberrequestIDGameSessionRequestIDexample?booleanlocalTimestamp?numberadmin?booleanWhether the requester is an administrator.
viaTwitchExtension?booleanTrue when the request was sent from the Twitch extension. Paybacks can only reach viewers inside the extension, so the feed uses this to decide whether the payback action is offered as available.
paybackable?booleanTrue when a payback can be offered on this request (extension-sourced and the viewer allowed paybacks at request time). The feed hides the payback action when this is unset on an extension-sourced request; the server re-checks the live setting on click. The raw opt-out preference is never exposed.
paybackWindowEndsAt?numberEpoch ms deadline for the streamer to send a payback (acceptedAt + PAYBACK_SEND_WINDOW_MS). Server-enforced. Only set on paybackable success payloads.
When set, the refund or retry was performed by someone other than the host (e.g. an editor).
message?stringmessageID?stringSet on a parent effect's payloads once CHILD effect requests have been linked to it — chance (wheel/cards) winners and attachment-triggered effects. Lets the session event queue render the children nested under the parent entry. Carries only display info (no payment data).
parentRequestID?GameSessionRequestIDSet on payloads of CHILD effect requests (chance winners / linked attachment effects) — the ID of the parent request. The client uses this to route the child's timed updates into the parent's nested child row.
refundable?booleanTrue when this effect can be refunded (has a transaction and is not pooled). Allows host/editors to show the refund button without exposing payment details in public payloads.
notifyAfter?numberDelay 'success' notification in the extension by these milliseconds.
anonymous?booleantimestampnumbereffect-payback type
Private counterpart of pub effect-payback.
GameSessionPrivateEffectPaybackPayload
Another VIEWER this effect was aimed at (viewer-to-viewer paybacks). target remains the streamer on these so this is what identifies who the effect was actually played on. Present only on viewer-aimed effects.
pooled?booleanpricenumberunitPricenumberquantity?numberrequestIDGameSessionRequestIDexample?booleanlocalTimestamp?numberadmin?booleanWhether the requester is an administrator.
viaTwitchExtension?booleanTrue when the request was sent from the Twitch extension. Paybacks can only reach viewers inside the extension, so the feed uses this to decide whether the payback action is offered as available.
paybackable?booleanTrue when a payback can be offered on this request (extension-sourced and the viewer allowed paybacks at request time). The feed hides the payback action when this is unset on an extension-sourced request; the server re-checks the live setting on click. The raw opt-out preference is never exposed.
paybackWindowEndsAt?numberEpoch ms deadline for the streamer to send a payback (acceptedAt + PAYBACK_SEND_WINDOW_MS). Server-enforced. Only set on paybackable success payloads.
When set, the refund or retry was performed by someone other than the host (e.g. an editor).
message?stringmessageID?stringSet on a parent effect's payloads once CHILD effect requests have been linked to it — chance (wheel/cards) winners and attachment-triggered effects. Lets the session event queue render the children nested under the parent entry. Carries only display info (no payment data).
parentRequestID?GameSessionRequestIDSet on payloads of CHILD effect requests (chance winners / linked attachment effects) — the ID of the parent request. The client uses this to route the child's timed updates into the parent's nested child row.
refundable?booleanTrue when this effect can be refunded (has a transaction and is not pooled). Allows host/editors to show the refund button without exposing payment details in public payloads.
notifyAfter?numberDelay 'success' notification in the extension by these milliseconds.
anonymous?booleantimestampnumberpaybackStatusGameSessionEffectPaybackStatuscoinReward?numberCoins credited to the viewer when the payback lands.
paybackEffectName?stringDisplay name of the disrupt played against the viewer.
paybackEffectID?stringIdentity of the disrupt played against the viewer — lets the targeted viewer report custom disrupts straight from their activity feed.
paybackPackID?stringpaybackPackType?'user' | 'crowd-control'paybackExpiresAt?numberEpoch ms when a sent payback expires without an ack.
coin-exchange type
A viewer bought or was granted coins, including the amount and any bonus.
amountnumberbonus?numbercoinType'paid' | 'free'source?ExchangeSourcetransactionIDTransactionIDexample?booleananonymous?booleantimestampnumberoverlay-update type
The streamer's browser-source overlay connected or disconnected.
status'connected' | 'disconnected'native-command-response type
NativeClientCommandResponsePayload
requestIdstringmethodstringargs?unknownrpcRecord<string, unknown>packMessages?Record<string, unknown>[]