Quotas & Bonuses
Valid hours, valid days, quota tracks, and milestone bonus diamonds.
Last updated Thu Jul 16 2026 00:00:00 GMT+0000 (Coordinated Universal Time)
TL;DR -A proposed schedule layer: opt into a track, stream enough valid hours across enough valid days (with real viewers) plus hit an earnings floor, and collect a percentage bonus on top of what you already made. Missing the target just means no bonus -your gift earnings are never touched.
Who this is for -Business & Product: the track table and the "percentage, not salary" reasoning. Design: the live progress card. Engineering: how valid minutes are measured, the payment job, and anti-abuse.
Status: PROPOSED DESIGN -see the Creator Program overview for the shared principles and margin math.
In plain terms
Quotas turn streaming into a schedule. The idea is simple: pick a monthly target (hours streamed, days active, and a minimum earnings floor), and if you hit all three, the platform pays you a bonus that's a percentage of what you already earned that month.
The important difference from other platforms: this is a reward, not a punishment. Elsewhere, missing your hours by a single hour can cut your salary in half. Here, missing simply means the bonus doesn't pay -your gift earnings are entirely your own, always. A host who earns nothing costs the platform nothing.
Industry platforms demand e.g. 30 valid hours across 15 unique days per month and slash salaries 50% for missing by an hour. Our version keeps the cadence pressure but pays a percentage milestone bonus on real earnings instead of a fixed salary.
The measurement unit: valid hours and valid days
To stop people from earning bonuses by "streaming" to an empty room, hours only count when at least 3 people are actually watching. The system tracks this per minute and rolls it up into hours and days.
Everything hangs off a new StreamSession row written by the live module
(start on room create/resume, close on end/grace-expiry):
- Valid minute: a broadcast minute in a session where the room had ≥ 3 concurrent viewers (gateway audience count, sampled per-minute). Empty-room and near-empty grinding doesn't accrue.
- Valid hour: 60 valid minutes, accumulated across the day's sessions (UTC day) -no single-session minimum, but sessions shorter than 10 minutes accrue nothing (kills start/stop farming).
- Valid day: a UTC day with ≥ 60 valid minutes.
- PK battle time counts normally; co-host stage time counts for the room host only (guests accrue in their own rooms).
A monthly rollup (HostQuotaMonth) accumulates validHours, validDays,
and settled paid-coin diamonds. Hosts see a live progress card
(hours, days, diamonds vs. targets) in the app -the industry lesson is
that quota anxiety without a progress meter is churn fuel.
Quota tracks
Hosts choose one of three tracks each month. Casual has no obligations and no bonus. Regular and Professional set progressively harder targets for progressively bigger bonuses. Opting in is free -the track just picks which prize you're chasing.
Hosts opt into a track monthly (default: Casual). Opting in costs nothing; the track only sets which bonus you're chasing.
| Track | Valid hours / month | Valid days / month | Diamond floor (settled, pre-split) | Milestone bonus |
|---|---|---|---|---|
| Casual | - | - | - | none -no obligations |
| Regular | 20 | 12 | 20,000 (≈ $800 gross) | +8% of month's earned diamonds |
| Professional | 40 | 20 | 80,000 (≈ $3,200 gross) | +10% of month's earned diamonds |
- The bonus is a percentage of the month's paid-coin diamond earnings (pre-agency-split, post-tier-multiplier) -it scales with real revenue and is covered in the program's worst-case margin math.
- Bonus cap: 50,000 bonus diamonds/month ($250) per host -keeps the liability bounded while the program tunes itself.
- All three conditions (hours AND days AND diamond floor) must be met. Miss any → no bonus, nothing else happens. No 50% salary slashes, no debt, no rollover.
Payment
The bonus is paid by the same monthly job that handles tiers. If a host cleared all three targets, it credits the bonus as pending diamonds with a full audit trail; if not, nothing happens and earnings stay untouched.
The monthly job (same run as tier evaluation) computes each opted-in
host's result and credits qualifying bonuses as pending diamonds with
a QUOTA_BONUS ledger row (metadata: monthKey, track, hours, days,
base micros, bonus bps). Standard 72h hold, standard withdrawal path.
The flow below shows the two inputs (session-based hours/days and settled earnings) feeding a single "targets met?" gate that either pays the bonus or leaves earnings alone.
Rendering diagram…
Why percentage bonuses instead of salaries
The choice to pay a percentage rather than a fixed salary is the whole point of this design. A salary is money the platform owes whether or not the host earned anything -which attracts fraud. A percentage bonus only pays out when the platform already made margin on the underlying gifts.
Fixed "official host" salaries are the industry's biggest fraud and liability magnet: they attract hour-grinders with bot viewers and create agency incentives to fake activity. Percentage-of-earnings bonuses are self-financing (paid only on months where the platform already made margin on the underlying gifts) and self-auditing (every base diamond has a ledger trail to a verified purchase). If guaranteed salaries ever make sense competitively, the design intent is that agencies fund them to their own hosts off our books -the platform's rebate is the agency's budget for that.
Anti-abuse
The defenses target the two ways to fake a quota: botting viewers to inflate hours, and botting activity to inflate everything. The earnings floor is the strongest gate, because it can only be cleared with real verified purchases.
- Viewer-count floor on valid minutes (≥3 concurrent) plus the 10-minute session minimum removes empty-room grinding.
- Audience counts come from the live gateway's reconciled numbers (the same counters the room lifecycle already floors and reconciles), not client-reported values.
- Bot-audience farms are a known industry pattern: per-minute samples keep raw data for retroactive audits, and a month flagged by the fraud review (e.g., viewer accounts with no other activity) can have its bonus withheld before the job credits it -withholding happens before credit, never as a clawback of settled diamonds.
- The diamond floor itself is the strongest gate: hours can be botted cheaply, but the floor requires real verified purchases at ≥65% cost per farmed diamond (see the conversion-loop math in Economy).
Related pages
- Creator Program overview -shared principles and the margin ceiling.
- Host Tiers -the multiplier that determines the earnings the bonus is a percentage of.
- Agencies -how the Regular quota defines a rebate-qualifying roster host.
- Live Rooms -the room lifecycle and reconciled audience counts that back valid minutes.
- Economy -the conversion-loop math behind the anti-farming floor.
- Data Model & Rollout -the
StreamSessionandHostQuotaMonthschema.