Skip to content

Connect relay

Twitch EventSub needs a public HTTPS endpoint. Connect gives your self-hosted recorder a public relay URL without opening router ports.

Connect forwards signed EventSub request bytes. The recorder still verifies Twitch’s HMAC locally — the relay holds no Twitch credentials and no HMAC secret. For the protocol details and self-host instructions, see Relay protocol.

When you sign up for Connect (or self-host the relay), you get two URLs:

Ingest URL

Public HTTPS URL Twitch posts EventSub deliveries to. Goes into RELAY_INGEST_URL.

Subscribe URL

WebSocket URL the recorder dials outbound. Goes into RELAY_SUBSCRIBE_URL.

You can enter the relay URLs in System → EventSub. For env-managed deployments, set the complete relay config below; env wins over dashboard settings. Dashboard-saved relay settings take effect after restarting the server.

PUBLIC_BASE_URL=https://your-replayvod.example
SERVER_MODE=relay
RELAY_INGEST_URL=https://relay.replayvod.com/u/<token>
RELAY_SUBSCRIBE_URL=wss://relay.replayvod.com/u/<token>/subscribe

PUBLIC_BASE_URL stays your recorder’s URL for OAuth and the frontend. RELAY_INGEST_URL is only the EventSub relay URL.

  1. Create or retrieve your Connect relay token.

  2. Either select Connect relay in the dashboard or set SERVER_MODE=relay.

  3. Put the ingest URL into RELAY_INGEST_URL.

  4. Put the WebSocket URL into RELAY_SUBSCRIBE_URL.

  5. Restart ReplayVOD.

  6. Confirm the logs show Relay client started and that EventSub subscriptions become enabled.

Skip Connect if your recorder already has a stable public HTTPS endpoint and you’re comfortable exposing /api/v1/webhook/callback directly. See EventSub for that setup.