Help Center

How can we help?

Find answers about your account, streaming setup, monetization and the Streamity API.

Getting Started

Create your profile, customize your channel and make your first stream a success.

  • How do I create my account?

    Click Register in the top-right, choose a username (3–24 chars, a-z 0-9 _), email and password. You’ll receive a confirmation email — click the link to activate your account.

  • How do I edit my profile?

    Click your avatar top-right → Settings. You can change your name, username, bio, avatar and banner. Changes persist automatically.

  • What is my profile completion %?

    It’s the share of these 5 things set: username, display name, bio, avatar, confirmed email. Keep it at 100% to unlock premium features.

Go to Settings

Streaming Setup

Connect OBS or ffmpeg to the Streamity ingest and go live in minutes.

  • Where do I find my stream key?

    Dashboard → Stream settings → click Reveal on the Stream Key field. Keep it private — anyone with it can stream to your channel. Rotate any time.

  • What OBS settings should I use?

    Service: Custom · Server: rtmp://rtmp.vpzone.tv:1935/live (Canada) or rtmp://eur.vpzone.tv:1935/live (Europe) · Stream Key: the value from Stream settings. Encoder x264, CBR, 4500–6000 kbps, keyframe interval 2s.

  • Which RTMP region should I pick?

    Pick the one closest to you for lowest upload latency. Canada (rtmp.vpzone.tv) is default and best for North America. Europe (eur.vpzone.tv) is best for Europe, Middle East, Africa. Both accept the same stream key — you can switch any time.

  • How long until viewers see my stream?

    Latency is about 1–2 seconds with LLHLS.

  • Can I stream from SRT?

    Yes — OvenMediaEngine accepts SRT on port 9999. Use the same stream key as RTMP.

Stream settings

Monetization

Subscribers, tiers and payouts powered by Stripe.

  • How do subscriptions work?

    Fans can subscribe to a creator for $5 CAD per month. Stripe handles the payment and you get a cut after platform fees. Payments outside Canada are converted by your bank or card provider at their exchange rate.

  • What's my revenue split by tier?

    Your platform fee shrinks as you climb the Creator Program: Affiliate keeps 75% (auto at 5 followers / 3h streamed, permanent once granted), Verified 80% (15 followers / 10h, permanent once granted), VP Certified 90% (100 followers / 30h / 10 active subs — top auto-promoted tier, maintained monthly). Partner and VP Ambassador also keep 90% but are invite-only / admin-assigned. Full requirements live on /creator-program.

  • How do I become a Partner?

    Partner isn't a milestone you grind to — it's hand-selected by VPZONE admins based on the effort and results you bring to the platform: consistent streaming, healthy community, growth, and good standing. Streamers who are negative, toxic or inactive will likely need to grind a lot more before being considered. If you're consistently showing up and contributing positively, the team notices — there's nothing to apply for.

  • When do I get paid out?

    Earnings hold for 31 days (Stripe chargeback window), then release on the next daily payout run via Stripe Connect — provided your balance is over the minimum threshold.

  • How do I cancel a subscription?

    Settings → Billing → Manage subscription (opens the Stripe Customer Portal).

  • What is VPZONE+ and how do I cancel it?

    VPZONE+ is the platform-wide membership at 5 CAD/mo (Stripe Tax included) — it powers Founder badge, profile flair, chat color, founders wall, ad-free experience and other perks. Manage or cancel auto-renew at Settings → Billing. We send a heads-up email 7 days before each renewal; if you cancel auto-renew, you keep the Founder badge and earned perks forever.

  • Are my streams recorded as VODs?

    Only if you opt in. Dashboard → Stream settings → toggle "Record stream". When you go live, we capture the stream and once you end it the file is remuxed for fast streaming and a thumbnail is generated. Retention is 7 days for VPZ+ subscribers and 72h for everyone else.

Creator Program

Teams

Crews and stream teams — discover them, join one, or start your own.

  • What are Teams?

    Teams (or “crews”) are public groups of creators and viewers on VPZONE — esports squads, communities and stream teams. Each team has its own page with a roster, an About section, a Discord link, and a live indicator when a member is streaming. Find them in the sidebar under Teams or at /teams. Teams is currently in beta, so expect it to keep improving over time.

  • How do I join a team?

    Open any team page and click “Apply to join” — you can add a short message about yourself. The team owner or an admin reviews your request, and if they approve it you’re added to the roster and get a notification. Joining a team is free for everyone.

  • How do I create my own team?

    Creating a team is a VPZ+ perk. With VPZ+ active, go to /teams → Create a team, then set a name, tagline, logo and banner — you become the owner. Each member can own up to 3 teams. (Joining other teams stays free and doesn’t need VPZ+.)

  • How do I manage applications and members?

    As an owner or admin, open your team and click Manage. There you can approve or reject join requests, promote members to admin or remove them, edit the team’s details (name, tagline, logo, banner, Discord), toggle whether you’re accepting applications, and — as the owner — delete the team.

  • What does the “Official” badge mean?

    The Official badge marks teams recognized by VPZONE (for example community partner teams). It’s assigned by VPZONE staff and can’t be self-applied — your own team won’t carry it unless we add it.

  • What’s coming next for Teams?

    Teams is in beta and subject to change as we build it out. Planned next steps include team events and scheduling (community game and discussion streams) and a team announcements feed. Got ideas? Share them in the suggestions channel on our Discord.

Browse teams

Developer API

REST API + webhooks to integrate Streamity into your app.

  • How do I authenticate?

    Generate an API key in /developers. Send it as Authorization: Bearer sk_live_...

  • What endpoints are available?

    GET /api/v1/channels/{slug}, GET /api/v1/users/{username}, POST /api/v1/webhooks, and more. See /api/docs for the full OpenAPI spec.

  • How do webhooks work?

    Register an endpoint in /developers, we’ll POST signed events (HMAC-SHA256 in X-Streamity-Signature). Retries are exponential, 5 attempts max.

Developer portal

OAuth for third-party apps

Let users sign into your app with VPZONE — OAuth 2.1 with PKCE.

  • When should I use OAuth vs an API key?

    Use an API key (sk_live_…) ONLY for scripts you run yourself. Use OAuth as soon as your app is multi-user — users log in with VPZONE and approve scopes, and you get a per-user access token instead of their personal key. Every sk_live_… key gives full access to one user's account; OAuth is scoped and revocable.

  • How do I register my OAuth app?

    Go to /developers/oauth → New app. Fill name, description, logo, homepage, redirect URIs (exact match — register every URL your app redirects to), allowed scopes, and client type (confidential = server-side with secret; public = SPA/mobile). Confidential apps get a one-time client_secret — save it immediately, it's only shown once.

  • What's the authorization URL?

    https://vpzone.tv/oauth/authorize?response_type=code&client_id=...&redirect_uri=...&scope=profile:read%20chat:read&state=<csrf>&code_challenge=<S256>&code_challenge_method=S256 PKCE S256 is REQUIRED for all clients (even confidential ones). Generate a 43-128 char random verifier, then code_challenge = base64url(sha256(verifier)).

  • How do I exchange the code for tokens?

    POST https://vpzone.tv/api/oauth/token (form-urlencoded) with: grant_type=authorization_code, code=<from redirect>, redirect_uri=<same as request>, client_id=<yours>, client_secret=<if confidential>, code_verifier=<your PKCE verifier>. Response includes access_token (vpz_at_…), refresh_token (vpz_rt_…), expires_in=3600, and scope.

  • How do I refresh an access token?

    POST /api/oauth/token with grant_type=refresh_token, refresh_token=<old vpz_rt_>, client_id, and client_secret if confidential. You get a new access + refresh token pair. IMPORTANT: refresh tokens rotate — always save the NEW refresh_token. If you reuse an old one, we revoke the entire grant (replay detection).

  • How do I call the VPZONE API with the access token?

    Authorization: Bearer vpz_at_… — works on any /api/v1/* endpoint. The token carries the scopes the user approved; missing scope = 403 insufficient_scope. The same /api/v1/* also accepts sk_live_… personal keys, so existing integrations keep working.

  • How do users revoke my app's access?

    At /settings/connected-apps. When they revoke, all active access + refresh tokens are revoked immediately (cascade). Your app will start getting 401 — handle it by re-initiating the auth flow (they'll see the consent screen again).

  • What scopes are available?

    13 scopes: profile:read/write, chat:read/write/announcements/commands/moderate, dashboard:read, follows:read, notifications:read/write, achievements:read, oauth:manage. The consent screen shows the full list. Request only what your app actually needs — users are more likely to approve.

  • How is this secure?

    PKCE S256 mandatory, exact-match redirect_uri (no open redirects), one-time auth codes, refresh token rotation with replay detection (cascade-revokes the whole chain on replay), tokens SHA-256 hashed in DB, CSRF-protected consent screen, CSP frame-ancestors 'none' (anti-clickjacking), uniform error responses, rate-limited at every endpoint.

OAuth apps portal

Embeds (Video & Chat)

Drop a VPZONE player or chat panel into any website with a simple iframe.

  • How do I embed a live stream on my site?

    Add this iframe, replacing {slug} with the channel handle: <iframe src="https://vpzone.tv/embed/video/{slug}" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen frameborder="0" width="640" height="360"></iframe> The player is responsive — it keeps a 16:9 aspect ratio inside the iframe. If the channel is offline, an “Off-stream” placeholder shows instead.

  • How do I embed the chat?

    <iframe src="https://vpzone.tv/embed/chat/{slug}" frameborder="0" width="340" height="500"></iframe> Chat embeds are read-only in v1 — viewers see messages in real-time and get a “Open on VPZONE to chat” link. Sending messages from an iframe is on the roadmap.

  • Can I put the player and chat side-by-side?

    Yes — they are two independent iframes. Put them in a flex container: the video on the left with flex:1 and the chat on the right at a fixed width (340px is a good default). Both resize with the container.

  • Is there a cost or rate limit?

    Embeds are free and public — no API key needed for public channels. We throttle abusive clients at the edge, but normal traffic (even viral) is unrestricted.

  • Can I restrict which sites can embed my stream?

    Not yet — for v1, anyone can embed. If you need a domain allowlist (frame-ancestors filter), reach out via support and we'll prioritize it.

  • Does the embedded player autoplay?

    Yes, muted. Browsers block unmuted autoplay; the player starts muted and shows an “Unmute” button the viewer clicks once. Standard Twitch/YouTube behavior.

Embed playground

Still stuck?

Reach out to the Streamity team.