Skip to content

StreamPersona Metered Session Billing

StreamPersona uses a time-metered billing ticker that debits active sessions in discrete 60-second intervals.


When a user initiates an avatar stream:

  1. Initial Session Pre-Auth: A hold equivalent to 3 minutes of streaming is reserved against the user’s wallet (/api/v1/billing/holds/create).
  2. Periodic Debit Ticker: Every 60 seconds of active WebRTC transmission, the backend sends an idempotent debit request (/api/v1/billing/wallets/debit) for 11 cents (or its dynamic Naira equivalent).
  3. Session Teardown: When the user closes the stream, the final fractional seconds are reconciled and any remaining hold credit is returned to the active wallet balance.

Every ticker tick generates a deterministic UUIDv7 idempotency_key (combining session_id and interval_index). Network interruptions or retried packets will never trigger duplicate billing events.