Supported Billing Models

Verimatrix provides support for three common billing models:

  • Transaction-Based
  • Subscriber- or User-Based
  • Device-Based

Each is described in more detail below with some common best practices.

When integrating clients against Verimatrix’s Streamkeeper Multi- DRM system, choosing the right billing model is crucial for cost efficiency and scalability. Streamkeeper Multi-DRM is a token-based system for authentication and authorization. To access services tokens must be used. See "What is a token" for more details.

Note: License requests typically either result in success or failure. In both cases, this is still considered a transaction. To avoid incurring extra costs for failed license requests it’s important to monitor the number of errors clients generate and fix any error generating issues.

A comprehensive list of MDRM status codes is provided and can help identify where the problem might be occurring. The most common type of error is an expired token resulting in a failed request from a client.

Transaction-Based Billing Model

How It Works:

  • You are charged per DRM license request (e.g., each time a user requests a license to play a protected video).
  • This is often used in pay-per-view (PPV), TVOD (Transactional VOD), or live event streaming models.
  • The cost scales with video views, making it flexible. For high-traffic services choosing the right tiered tier of requests reduces your cost. A Verimatrix sales representative is happy to explain in more detail.

Best Practices for Integration:

License Caching:

  • Reduce redundant license requests by caching licenses for the session duration.
  • Example: If a movie rental is valid for 24 hours, cache the license for that period instead of requesting it on every playback.

Pre-Fetching for Seamless Playback:

  • For live events, fetch licenses ahead of time to avoid delays.
  • Implement silent license renewal in the background to ensure continuous playback.

Token consderations:

  • Ensure tokens have expiration policies to prevent unauthorized reuse.
  • Tune your token generator to avoid sending expired or malformed tokens.

Subscriber or User-Based Billing Model

How It Works:

  • You are charged per active subscriber or user per billing period (e.g., monthly per unique user).
  • Common in SVOD (Subscription Video-On-Demand) platforms.
  • Costs remain stable, making it easier to predict expenses.

Best Practices for Integration:

Uniquely identify subscribers

  • Use a unique value per subscriber per month. This should be anonymized for GDPR purposes.
  • Send the anonymized value to the Verimatrix service and randomly generate new values monthly.
  • Utilize Verimatrix’s randomizer for your Subscriber Management System (SMS) for easy integration. Our technical teams can answer questions you might have about this.

Implement User Authentication & Tracking:

  • Integrate DRM with your IAM (Identity & Access Management) system to track active users.
  • Ensure that only logged-in users can request DRM licenses.

Enforce Fair-Use Policies:

  • Set concurrent stream limits per subscriber (for example, Netflix allows 2-4 concurrent streams per account).
  • Use session management to detect and prevent account sharing.

Optimize Server Calls per User:

  • Instead of fetching a new DRM license on every session, use refresh tokens or session tokens to reduce backend load.

Device-Based Billing Model

How It Works:

  • You are billed per unique device that plays DRM-protected content.
  • Often used in hardware-based DRM solutions (e.g., Apple FairPlay, PlayStation, Smart TVs).

Best Practices for Integration:

  • Utilize persistency for browser-based devices
  • Persist the device identification in the client so it is uniquely identified once.
  • Failing to persist device information results in the same device being counted multiple times.

Device Registration & Fingerprinting:

  • Use device ID tracking to manage registered devices per user.
  • Example: Store registered device info (model, OS, fingerprint) to limit unauthorized access.

Implement Device-Based Licensing:

  • Assign persistent licenses to devices where possible.
  • Avoid requesting a new license on every playback if the device is already registered.

Allow Device Management for Users:

  • Provide a user dashboard where subscribers can manage their registered devices.
  • Example: Allow users to remove old devices before adding a new one.

Billing ModelBest forCost EfficiencyBest Practices
TransactionsPPV, TVOD, Live EventsFlexibleLicense caching, pre-fetching
SuscribersSVOD, Subscription PlatformsPredictable & scalableIAM integration, concurrent stream limits
DevicesSVOD, Subscription PlatformsStable but limited by device capsDevice registration, persistent licenses, user control over devices

Did this page help you?