The Only Platform That Has It.
Purchase gating, geo-restriction, blackout enforcement, wagering sync, and session control -- all resolved at the relay before a single byte of video is delivered.
From purchase to stream in five steps. Every gate resolved at the relay layer before video delivery begins.
HMAC-SHA256 signed tokens carry purchase ID, entitlement window, geo-policy, and session fingerprint. Verified at the relay with zero database lookups.
Purchase confirmation triggers token issuance and DRM license provisioning in a single atomic operation. No webhook delays, no eventual consistency.
Every gate is checked before the first byte. Invalid tokens, wrong geo, expired window -- all rejected at the relay, never at the player.
Define per-region access rules, enforce blackouts, and manage territorial rights -- all at the relay layer.
Dual-layer geo verification combining IP geolocation with device GPS coordinates. VPN detection included. Configurable tolerance radius.
Block by country, region, city, or custom polygon. Whitelist or blacklist mode. Updated in real-time, no redeployment needed.
Real-time detection of VPNs, proxies, Tor exits, and datacenter IPs. Configurable policy: block, warn, or allow with logging.
Regional blackout windows applied at the relay. No client-side hacks. No workarounds.
{
"event_id": "nba-lakers-celtics-20260327",
"blackout_zones": [
{
"type": "dma",
"code": "803",
"name": "Los Angeles",
"radius_miles": 75,
"action": "redirect",
"redirect_stream": "local-broadcast-feed"
}
],
"vpn_policy": "block",
"start": "2026-03-27T19:30:00Z",
"end": "2026-03-27T23:00:00Z"
}
Game events, scores, clock data, and play-by-play metadata delivered in lockstep with the video presentation timestamp.
Prevent credential sharing at the relay. Hard limits, not client-side suggestions.
Browser, OS, screen resolution, WebGL hash. Each session tied to a unique device profile.
Set max concurrent streams per account: 1 for PPV, 3 for subscription. Configurable per event or plan.
New session beyond limit? Oldest session gets a 30-second warning, then relay drops the connection.
PPV limit: 2 concurrent. Third device rejected at relay. No video bytes transmitted.
{
"event_id": "ppv-fight-night-042",
"session_policy": {
"max_concurrent": 2,
"eviction": "oldest_first",
"grace_period_sec": 30,
"device_fingerprint": true,
"geo_mismatch_action": "block",
"ip_sharing_threshold": 3
}
}
RESTful endpoints for the full PPV lifecycle -- from purchase to stream teardown.
/api/v1/ppv/purchase
Create a PPV purchase. Returns HMAC token, DRM license URL, and entitlement window.
/api/v1/ppv/entitlement/{token}
Validate an HMAC token. Returns entitlement status, remaining time, geo-policy, and session count.
/api/v1/ppv/blackout
Define blackout rules for an event. DMA codes, polygon zones, time windows, and redirect targets.
/api/v1/ppv/geo-check/{event_id}
Check geo-eligibility for a viewer. Returns allowed/blocked/blackout status with reason codes.
/api/v1/wagering/subscribe
Subscribe to PTS-synchronized wagering events for a stream. WebSocket upgrade for real-time delivery.
/api/v1/ppv/sessions/{account_id}
List active sessions for an account. Device fingerprints, geo data, connection duration, and eviction priority.
/api/v1/ppv/sessions/{session_id}
Force-terminate a session. Immediate relay disconnect. Used for fraud response or manual eviction.
Measured on production relay nodes. Token + geo combined adds <3us to stream setup. Zero database lookups in the hot path.
PPV, geo-gating, blackout enforcement, and wagering sync -- all through a single API.