Find answers about your account, streaming setup, monetization and the Streamity API.
Create your profile, customize your channel and make your first stream a success.
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.
Click your avatar top-right → Settings. You can change your name, username, bio, avatar and banner. Changes persist automatically.
It’s the share of these 5 things set: username, display name, bio, avatar, confirmed email. Keep it at 100% to unlock premium features.
Connect OBS or ffmpeg to the Streamity ingest and go live in minutes.
Dashboard → Stream settings → click Reveal on the Stream Key field. Keep it private — anyone with it can stream to your channel. Rotate any time.
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–8000 kbps, keyframe interval 2s.
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.
Resolution: 1920×1080 · FPS: 60 · Video bitrate: 8000 kbps CBR (max 8500) · Keyframe interval: 2 s · Profile: high · B-Frames: 2 · Audio: AAC 160 kbps, 48 kHz stereo. Your stream is passed through to viewers as-is (no re-encode), so don't exceed ~8000 kbps — higher bitrates can buffer for viewers on slower connections. See the encoder-specific presets below.
Resolution: 1280×720 · FPS: 60 · Video bitrate: 4500 kbps CBR (max 5500) · Keyframe interval: 2 s · Profile: high · B-Frames: 2 · Audio: AAC 160 kbps, 48 kHz stereo. The best choice if your upload is limited or your CPU/GPU struggles at 1080p60 — most viewers can't tell the difference on fast motion.
Resolution: 854×480 · FPS: 60 · Video bitrate: 2500 kbps CBR (max 3000) · Keyframe interval: 2 s · Profile: high · B-Frames: 2 · Audio: AAC 160 kbps, 48 kHz stereo. The most reliable tier if your upload is under ~4 Mbps or you're streaming somewhere with an unstable connection — smooth 480p beats a stuttering 720p every time.
If you have an NVIDIA GPU, use NVENC H.264 (New): Rate Control CBR · Preset Quality (P5) · Multipass Two-Pass (Quarter Resolution), or Single Pass if your GPU is under load · Profile High · Look Ahead OFF · Psycho Visual Tuning ON · Max B-Frames 2. If you're encoding on CPU (x264): Rate Control CBR · Preset veryfast (most stable) or faster if your CPU can handle it · Tune none · Profile high. Both: Keyframe interval 2s, no custom encoder config needed. When downscaling from a higher canvas resolution, use the Lanczos filter for the sharpest image at 480p/720p/1080p.
Your upload speed should be at least your video + audio bitrate plus ~30% headroom. Rough guide: 1080p60 @ 8000 kbps → 11 Mbps upload minimum · 720p60 @ 4500 kbps → 6 Mbps · 480p60 @ 2500 kbps → 4 Mbps. Run a speed test near your streaming hours; if your connection fluctuates, drop one tier — a stable 480p60 always looks better than a stuttering 1080p60.
Latency is about 1–2 seconds with LLHLS.
Stream natively from your PS5 to VPZONE, with optional Twitch simulcasting and synced chat.
You need an active VPZ+ membership, a VPZONE channel, the same Twitch account linked to VPZONE and your PS5, and the dedicated Twitch authorization in Dashboard → Stream. Without VPZ+, network activation and every PS5 publishing attempt are denied automatically.
1. Open Dashboard → Stream → PS5 Streaming. 2. Link Twitch, then authorize streaming and synced chat. 3. Choose VPZONE only or VPZONE + Twitch. 4. From the same Wi-Fi/LAN as the PS5, select Activate this network for 24 hours. 5. On the PS5, set the primary DNS to 38.49.218.174. If a secondary DNS is required, use the same address to prevent bypassing VPZONE. 6. Link the same Twitch account on the PS5 and select Broadcast on Twitch.
DNS access is tied to your public IPv4 address for 24 hours. A phone using mobile data, a VPN, or another network has a different address and the PS5 will be denied. Renew the lease from Dashboard → Stream before it expires or after your Internet address changes.
VPZONE only publishes the live stream exclusively to your VPZONE channel. VPZONE + Twitch also publishes the same stream to your Twitch channel. The choice is saved and can only be changed while offline. If the Twitch relay fails, the VPZONE live stream continues.
After chat authorization, VPZONE messages are sent to Twitch with the [VPZ] prefix, and Twitch messages are sent back to VPZONE. You can follow messages in the PS5 native broadcast interface without leaving your game. Twitch viewers and alerts are only available when Twitch is also enabled as a destination.
Make sure VPZ+ is active, PS5 streaming is authorized in Dashboard → Stream, the network lease has not expired, the PS5 is using the Canada DNS on the same Internet connection, and the Twitch account matches everywhere. If you changed or regenerated your Twitch stream key, select Reauthorize Twitch in VPZONE.
In Dashboard → Stream, disable the network first, then use Disconnect Twitch to delete the complete PS5 configuration. Losing VPZ+ also revokes the network lease and automatically stops an active PS5 stream; standard OBS streams remain available.
No. VPZONE is an independent service and is not affiliated with, sponsored by, endorsed by, or an official partner of Sony Interactive Entertainment, PlayStation, or Twitch. This unofficial feature was independently implemented from publicly documented technical concepts and publicly accessible proof-of-concept repositories. PlayStation and PS5 are trademarks or registered trademarks of Sony Interactive Entertainment Inc.
Subscribers, tiers and payouts powered by Stripe.
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.
Your platform fee shrinks as you climb the Creator Program: Affiliate keeps 75%, Verified 80%, VP Certified 90% (the top auto-promoted tier, maintained monthly). Affiliate and Verified are permanent once granted. Partner and VP Ambassador also keep 90% but are invite-only / admin-assigned. The follower and hour requirements are rebalanced from time to time, so /creator-program is the source of truth for what each tier currently needs.
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.
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.
Settings → Billing → Manage subscription (opens the Stripe Customer Portal).
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.
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. Replays are kept for 14 days, for everyone.
VPZONE's virtual currency — cheer streamers in chat, they keep 100% of the value.
Pixels are VPZONE's virtual currency, like cheering bits. You buy Pixels in bundles, then send them to any streamer in their chat — with an optional message that shows up in a special animated card everyone can see. 100 Pixels = $1.00 CAD of value for the streamer, and streamers keep 100% of it (no platform fee on Pixels).
Click your Pixel balance in the top bar (next to the notification bell), or hit "Get Pixels" in the send panel. Bundles: 100 px → $1.99 · 500 px → $6.99 · 1,500 px → $19.99 · 5,000 px → $63.99 · 10,000 px → $119.99 · 25,000 px → $279.99 (all CAD). Payment is handled by Stripe (card, Google Pay, Klarna, Afterpay) and your balance updates instantly. You'll get an official receipt by email.
In any channel's chat, click the pixel gem button next to the emote picker. Pick an amount (10 / 50 / 100 / 500 / 1,000 or a custom amount) and add an optional message (200 chars max), then hit Send. A special PIXELS card appears in chat for everyone — the bigger the amount, the bigger the glow: 10+, 100+, 1,000+ and 5,000+ each step it up. Min 10, max 25,000 Pixels per send.
Every Pixel received is worth 1¢ CAD, and streamers keep 100% — no platform fee. Received Pixels show on Dashboard → Earnings. To cash them out you lock them for payout (minimum 100 Pixels), and they become payable 31 days later — the same hold that applies to subs, gifts and quest rewards — then go out with your regular payout via Stripe Connect. Unlocked Pixels stay in your wallet indefinitely and remain spendable. You need Stripe Connect set up to get paid — until then your Pixels keep accumulating safely.
Yes — that's unique to VPZONE. Pixels someone sent you can be sent onward to other streamers, as long as you haven't locked them for payout yet. Receive 100, give away 50, and the remaining 50 (= $0.50) are still yours to lock for a future payout.
No. Pixels you purchase can be sent to streamers but never converted back to money. Only Pixels received from others count toward payouts — this keeps the system fair and fraud-free.
Pixels are a digital product delivered instantly to your balance. All purchases are final and non-refundable, except in the case of a billing error or where required by law. This is shown before every purchase and on your receipt. Questions about a charge? Contact info@technoredac.ca before disputing — chargebacks automatically restrict the account from future purchases.
Yes, automatically — no setup change needed. If you use the VPZONE alerts overlay (browser source), Pixel cheers fire a full-screen alert with the amount, sender and message, plus a dedicated chime. The chat overlay and the chat dock render cheers as the same pink PIXELS card viewers see on the watch page. Building something custom? Cheers are available over the API — see the Developer API section below.
Streamer-made loot crates dropped in chat — provably fair, always free to receive.
Cases are loot crates that streamers create and fund themselves, containing Pixels and/or secret codes (game keys, promo codes…). Streamers hand them out in three ways: a direct gift to a viewer, a random drop on an active chatter, or a first-come-first-served claim in chat. Received cases land in your Inventory (top bar) and expire after 30 days if unopened.
Open your creator dashboard and go to Cases. Pick one of the 10 crate designs, name it, then add what's inside — Pixels amounts and/or secret codes, each on a tier (common, rare, mythical, legendary). The Pixels you put in are escrowed from your own balance when you mint the case, and refunded if it goes unopened for 30 days. From the same page you hand a case out: Gift it to a named viewer, Drop it on a random active chatter, or start a Claim race in chat. Creating cases requires VPZONE+.
No purchase is ever necessary to receive a case — streamers give them away for free, and the streamer funds everything inside. Cases are never sold. Opening a case requires an active VPZONE+ membership; claiming and holding cases is free for everyone.
Every case uses the same tier weights: Common 60, Rare 25, Mythical 12, Legendary 3 — normalized across the tiers actually present in the case, then split equally between the items of the drawn tier. The exact odds for every single item are shown on the case ("What's inside") before you open it. Consumed one-time codes are removed from the pool and from the displayed odds.
Every case is provably fair. Before opening, you see the SHA-256 hash of the server seed (committed at mint time). After opening, the seed is revealed with the nonce and roll so you can verify: SHA-256(seed) must equal the pre-committed hash, and the first 6 bytes of HMAC-SHA256(key=seed, msg=nonce) ÷ 2⁴⁸ must equal the roll. Neither you nor the streamer nor VPZONE can influence the outcome.
Cases expire 30 days after they're minted. Any unopened case's contents are returned to the streamer who funded it. Your inventory shows the days remaining on every case.
You'll receive the code by email as a backup right after opening. If the code turns out to be invalid, use the "Report it" link on the opened case in your inventory — the streamer is notified, and streamers who repeatedly hand out dead codes lose access to the cases feature.
No. Any business outside VPZONE involving Pixels or cases — selling, buying, raffling or trading them for money or anything of value, via PayPal or any other means — is strictly forbidden and results in an immediate, permanent ban of every account involved (see Terms, section 11).
Crews and stream teams — discover them, join one, or start your own.
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.
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.
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+.)
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.
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.
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.
REST API + webhooks to integrate Streamity into your app.
Generate an API key in /developers. Send it as Authorization: Bearer sk_live_...
GET /api/v1/channels/{slug}, GET /api/v1/users/{username}, POST /api/v1/webhooks, and more. See /api/docs for the full OpenAPI spec.
Register an endpoint in /developers, we’ll POST signed events (HMAC-SHA256 in X-Streamity-Signature). Retries are exponential, 5 attempts max.
GET /api/v1/channels/{slug}/pixels/recent?limit=20 — paginated list of Pixel cheers received on a channel you own, newest first. Each item: { from: { username, display_name, avatar_url }, amount, message, at }. Keyset pagination via ?before=<at of last row>. Requires scope pixels:read (dashboard:read also works). curl -H "Authorization: Bearer sk_live_..." https://vpzone.tv/api/v1/channels/yourslug/pixels/recent
If your app already reads the chat WebSocket (wss://chat.vpzone.tv/ws?channel=<slug>), you get Pixel cheers for free: they arrive as a message with type "system" and metadata { kind: "pixels_cheer", amount, message }, with the sender in the username field and a human-readable body ("alice sent 500 Pixels!") as fallback. No extra scope needed — cheer events are public to everyone in the chat, exactly like the messages themselves.
Let users sign into your app with VPZONE — OAuth 2.1 with PKCE.
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.
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.
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)).
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.
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).
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.
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).
12 scopes: profile:read/write, chat:read/write/announcements/commands/moderate, dashboard:read, follows:read, notifications:read/write, oauth:manage. The consent screen shows the full list. Request only what your app actually needs — users are more likely to approve.
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.
Drop a VPZONE player or chat panel into any website with a simple iframe.
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.
<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.
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.
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.
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.
Yes, muted. Browsers block unmuted autoplay; the player starts muted and shows an “Unmute” button the viewer clicks once. Standard Twitch/YouTube behavior.
Reach out to the Streamity team.