Skip to main content

The IPTV control plane for Ministra operators

Three businesses. One platform. Zero overlap.

The only IPTV control plane where Owner, Reseller, and Sub-Reseller each run independent, isolated, white-labelled businesses — with their own customers, payment gateways, brands, and audit trails. All on top of your existing Ministra portals.

No credit card required · Setup in under 30 minutes · Cancel anytime

50,000+
Customers per operator

scale-tested

3-tier
Reseller hierarchy

database-enforced

< 1s
Ministra sync

bi-directional via Go agent

89
Reports built-in

financial · customer · operational · compliance

75
Foreign key constraints

data isolation enforced

Early access — talk to the founder .

Built for IPTV scale

Spreadsheets and manual processes don’t scale to 50,000+ customers. Billistra does.

Ministra runs the streams. Billistra runs everything around it — billing, resellers, payments, audit, compliance — engineered for the scale where manual processes give up.

What operators deal with today
What Billistra ships on day one

Customer data spread across Ministra UIs, spreadsheets, and the support inbox.

One operator console, scoped per tier, synced live to every portal.

Manual reseller payouts and disputes — and nobody trusts the numbers.

Each reseller collects directly to their own Stripe. No middleman, no reconciliation file.

Resellers can see each other’s customers, or worse — see yours.

Database-level isolation: 75 foreign-key constraints make cross-tier reads impossible.

Compliance gaps — no audit trail, no RTBF workflow, no retention policy.

Every action audited per tier. GDPR RTBF + 365-day archive substrate, built in.

Billing tool runs a sync job every 30 minutes. Customers wait. Resellers complain.

Sub-second bi-directional sync via a Go agent over WebSocket. Real-time, both directions.

The marquee feature

Run three businesses. They can’t see each other.

Same product, three completely separate operating scopes. Owners see the network. Resellers see their slice. Sub-Resellers see only what’s theirs. Enforced at the database, not in the UI.

app.billistra.com
Owner view
Network-wide visibility
Portals
12
Customers
47,812
Resellers
3
Resellers balance / MRR
  • NordicStream B.V. 8,142
  • OmniCast Latam 14,203
  • PortaTV MENA 25,467
nordic.billistra.app
Reseller view
Own customers + sub-resellers only
Portals
3
Customers
8,142
Sub-resellers
2
Customers balance / MRR
  • maria.k@hel… €19.90
  • pekka.l@tampere… €29.90
  • sami.h@espoo… €19.90
+ 8,139 more · OmniCast / PortaTV networks hidden
helsinki.cable.tv
Sub-Reseller view
Own customers only
Portal
1
Customers
2,104
Plan tier
Bronze
Customers balance / MRR
  • jukka.r@hel… €14.90
  • liisa.s@hel… €14.90
  • mika.v@hel… €19.90
+ 2,101 more · cannot see parent reseller data

Owner

  • Sees every portal, every reseller, every customer.
  • Manages the platform; bills Billistra; sets the rules.
  • Optional direct B2C through the Owner-branded storefront.

Reseller

  • Only sees their own customers and sub-resellers.
  • Connects their own Stripe + PayPal. Money flows direct.
  • Their own white-labelled storefront on their own domain.

Sub-Reseller

  • Only sees their own customers.
  • Their own gateway (Mode 3) or commission via parent (Mode 2).
  • Runs their own brand. Parent reseller cannot read their data.

Enforced by 75 foreign-key constraints at the database level. Not a UI permission. Not a checkbox. A Reseller’s query physically cannot return another reseller’s data — because the query is rewritten with the caller’s tenant scope before it ever hits Postgres.

For Resellers

Each tier collects their own money. Directly.

Resellers connect their own Stripe and PayPal accounts. Customer payments flow straight to the reseller’s bank. The Owner is never the middleman, never holds funds, never wires a payout file. Cleanest separation of concerns in the industry.

Owner · audits, never intercepts
Customer
Pays €19.90 / mo
Reseller’s Stripe
acct_1QyRes…
Reseller’s bank
FI•••••• 4421
No middleman No held funds No platform-as-bank Per-tier audit

Three billing models. Switch per relationship.

Pick the model that fits each tier — and change it later without re-onboarding customers.

  • Prepaid Wallet

    Customer loads credit on the storefront. Service activates the moment the balance covers the plan. Auto-debit on renewal. Low-balance alerts before suspension.

    • Live balance + transaction ledger
    • Top-up via Stripe / PayPal / recharge PIN
    • Auto-debit + low-balance email
    Wallet balanceEUR
    €42.10 +€10.00 top-up
    Renews in 14dauto-debit ON
  • Postpaid Invoice

    Trial → activate → monthly cycle. Card-on-file auto-charge or manual invoice payment. Per-plan dunning policies retry failed charges, then cascade suspension.

    • Trial → invoice cycle with grace window
    • Per-plan dunning policy (retry + cascade)
    • Multi-currency on a per-tenant default
    Invoice #INV-2412Due 7d
    • Bronze · 30 days€19.90
    • Tax (24%)€4.78
    • Total€24.68
    Dunning: retry 3d / 7d / suspend
  • Centralized Commission

    Customer pays the platform; commissions accrue to Reseller and Sub-Reseller wallets. Reseller files a Withdrawal Request; Owner approves; payout ships via the tier’s configured method.

    • Per-tier commission shares
    • Withdrawal Requests workflow + audit
    • Pluggable payout methods (bank, PayPal, …)
    Withdrawal requestPending
    • Reseller earnings€1,240.00
    • Sub-reseller share−€312.00
    • Payable€928.00
    PayPal payout · awaiting Owner approval

Hierarchical pricing control

Pricing that cascades. Margins that hold.

Set master pricing once. Resellers can’t undercut you. Sub-Resellers can’t undercut Resellers. Customers see only what their tier charges. The platform enforces every rule.

Tier 1

Owner · master pricing

Portal A · EUR

Sports HD package

pkg_sportshd
Base cost
$15.00
Wholesale to resellers
→ Reseller-A $10.00
→ Reseller-B $12.00
Customer floor
$15.00
Customer ceiling
$30.00
Enforced platform-wide

Premium package

pkg_premium
Base cost
$25.00
Wholesale
→ Reseller-A$18.00
→ Reseller-B$20.00
Floor / ceiling
$25 – $50

Tier 2

Reseller-A · scoped config

their scope

Sports HD package

pkg_sportshd
Cost
$10.00
Customer price
$22.00
within bounds $15 – $30
Wholesale to sub-resellers
→ Sub-Reseller-1$14.00
→ Sub-Reseller-2$16.00

Premium package

pkg_premium
Cost (locked)
$18.00
Customer price
$35.00
within $25 – $50

Tier 3

Sub-Reseller-1 · scoped config

their storefront

Sports HD package

pkg_sportshd
Cost
$14.00
Customer price
$25.00
within Reseller-A’s bounds
Visible only to Sub-Reseller-1’s customers

Premium package

pkg_premium
Cost (locked)
$26.00
Customer price
$42.00
  • Set master pricing once. Per-package, per-portal, per-currency.
  • Wholesale relationships codified, not negotiated.
  • Floor + ceiling bounds enforced at every level.
  • Promo codes per tier, within margin.
  • Trial pricing distinct from full-price pricing.
  • Recharge card values priced per tier.
  • Annual + monthly cycles with discount preservation.
  • Volume tier pricing for bulk customer plans.
  • Multi-currency support with per-tenant default.

No undercutting. No price wars between resellers. Margins protected at every tier. The platform is your contract.

Ministra integration

Sub-second Ministra sync. Bi-directional. Always.

Most billing tools run a sync job every 30 minutes. We hold an open WebSocket to every portal you connect. State changes propagate both ways in under a second — provisioning, suspension, plan changes, device events.

  • Go agent over WebSocket. Single connection per portal, multiplexed events, instant reconnect.
  • Bi-directional. Billistra → portal for provisioning. Portal → Billistra for device events, live connections.
  • Live connections feed. See exactly who is watching what — across every portal — right now.
Most billing tools batch
30 min sync job

Customers wait. Portal drifts. Suspensions late. Disputes follow.

Billistra live
< 1 second, bi-directional

Pay → provision → stream. Same second, every time.

Sign-up → stream · single event trace
total: 310 ms
  1. +0ms Customer pays €19.90 on storefront
  2. +40ms Stripe webhook → wallet credited
  3. +120ms Plan activated · subscription row written
  4. +260ms Go agent → Ministra portal user provisioned
  5. +310ms STB online · ready to stream
Median across 10K simulated signups · sub-100ms p50 on portal write.

Product tour · For Owners

Built like infrastructure, not like a billing app.

Six surfaces operators actually live in — every one of them tier-scoped, audited, and synced to your portals in real time.

Tenant detail

Run a reseller in 30 seconds.

One operator panel for every reseller: portal assignments, pricing overrides, caps, payment gateway, storefront link, audit, suspend, RTBF. Sixteen actions, one screen.

helsinki-cable active · sub-reseller
Customer profile

Every customer. Every action. Audited.

Subscription history, payment ledger, device list, watching history, dunning state, support touchpoints — and an immutable audit timeline scoped to the viewer’s tier.

MK maria.k@helsinki…
Silver · €19.90 / mo
  • Today · 14:02 maria.k Plan upgraded · Bronze → Silver
  • Today · 14:02 system Wallet debited · €19.90
  • Today · 14:02 agent Portal user provisioned · 240ms
  • Mar 9 · 09:13 reseller Trial → activated
  • Mar 9 · 09:11 maria.k Signed up via storefront
Wallet

Real-time prepaid balance.

Live wallet balance, transaction ledger, top-up via Stripe or recharge PIN, low-balance alerts, auto-debit on renewal — and a tier-aware view (Reseller can top up on behalf of their customer).

Wallet balance
€42.10
Top up Redeem PIN
  • Top-up · Stripe+€10.00
  • Renewal · Silver−€19.90
  • Recharge PIN · NX-72A+€20.00
Storefront

Customers sign themselves up.

A white-labelled signup page per reseller — their domain, their logo, their plans. Customers pick a package, pay via the reseller’s Stripe, and are provisioned on the portal in under a second.

nordicstream.fi · storefront Modern theme
Bronze
€14.90
/ month
Silver
€19.90
/ month
Gold
€29.90
/ month
Pay with Stripe → activate now Subscribe
Audit log

Compliance-grade transparency.

Every action recorded with actor, target, timestamp, IP, and metadata. Filter by customer, action type, severity, or date range. Exportable for legal review.

ActorActionTargetTime
  • jukka@nordic tenant.suspend helsinki-cable 08:14:22
  • sara@omnicast subscription.refund cust_1Q4f… 08:13:58
  • system rtbf.executed cust_1PpC… 08:11:02
  • pekka@nordic payment.captured inv_2412 08:09:41
  • system sync.portal_write portal/2 08:09:41
Anti-Abuse

Catch problems before customers complain.

Concurrent-stream detection, geographic anomalies, device-spread heuristics, and pattern-based abuse scoring. High/critical events surface with a recommended action.

Severity feed · last 24h 17 events
  • critical 7 concurrent streams · 4 geos
  • high New device every 3 days · 5 wks
  • med Geo jump SE → BR within 2h

Operational power

Ten capabilities most billing tools don’t even attempt.

Billistra is an operator’s workbench, not a pricing-page-and-Stripe wrapper.

  • Hierarchical pricing cascade

    Set master pricing once. Wholesale prices flow down. Floor/ceiling bounds are enforced. Resellers cannot undercut you. Sub-Resellers cannot undercut their Reseller.

  • Multi-portal Ministra control

    Run 10+ Ministra portals from one operator console. Add, remove, swap — without losing customer history.

  • STB event commands

    Send Message, Reboot, Restart Portal, Update Channel List, Switch Off, Image Update — manual, scheduled, or rule-triggered.

  • Dynamic event rules

    System-triggered automation. "Trial ends → message + suspend." "Idle 30 days → reboot STB." Write rules in plain language.

  • Anti-Abuse engine

    Concurrent stream detection, geo anomalies, device-spread heuristics, configurable severity tiers. Owner sees alerts before customers complain.

  • Bulk customer import

    CSV or API import from competitor billing tools, with validation, dry-run, and a full migration audit trail.

  • Recharge cards

    Generate prepaid PINs in bulk. Customers redeem to load wallet credit. Per-card status, expiry, and revocation.

  • Promo codes

    Discount campaigns with usage limits, expiration, per-plan eligibility, and per-tier scoping.

  • API + Webhooks

    REST API with per-tier scoped keys. Subscribe to subscription, payment, and lifecycle events. Owner sees all; Reseller sees their own.

  • Multi-currency

    Per-tenant default currency. Stripe handles FX. Resellers can sell in their local market without converting on-the-fly.

  • 50K+ customers per operator

    Scale-tested. Sub-100ms query latency at 50K customer rosters. Health monitoring + alerting in the box.

Compliance

Compliance built in. Not bolted on.

Audit trail per tier. GDPR Right-to-be-Forgotten. 365-day pseudonymized archive. Tax-compliant financial preservation. The legal substrate IPTV operators discover they need at exactly the wrong moment.

RTBF compliance report Signed · PDF
subject: cust_1Pq8…f93
requested: 2026-05-12 14:02 UTC
tenant: nordicstream
actions:
  • · pseudonymized 14 PII fields
  • · archived 8 financial records (tax-required)
  • · revoked 3 device entitlements via Ministra agent
  • · emitted audit row · actor: legal@nordicstream
status: completed · 18.2s
  • GDPR Right-to-be-Forgotten

    Accelerated purge workflow with legal-grade compliance reports. Pseudonymized archive preserves the financial record required for accounting and tax.

  • Per-tier audit trail

    Every operator action recorded with actor, target, timestamp, and metadata. Owner sees the network superset; Resellers see only their own actions.

  • 365-day forensic retention

    Tenant deletion runs through a 30-day grace window with undo, then a 365-day pseudonymized archive substrate before final purge.

  • Full customer audit log

    Every event on every customer: subscription changes, payments, device additions, plan upgrades, support interactions — filterable by actor, action, date.

  • Tax-compliant preservation

    Financial events kept on the archive substrate even after RTBF, so VAT/sales-tax obligations survive a forget request.

Integrations

Works with what you already have.

Billistra speaks the protocols your stack already uses. No proxy. No bespoke adapter. No vendor lock-in.

  • Ministra / Stalker Portal

    IPTV middleware. Bi-directional sync via Go agent.

  • Stripe

    Per-tier payment collection. Each reseller connects their own account.

  • PayPal

    Alternative gateway, per-tier. Same isolation model as Stripe.

  • Resend

    Transactional email per tenant or platform SMTP fallback.

  • PostgreSQL

    75 foreign-key constraints enforce tier isolation at the data layer.

  • Redis

    Real-time wallet balances and event streams.

  • Docker

    Self-hosted or managed. Operator picks.

Pricing

Priced per Ministra portal. Not per customer.

Every plan ships with a 14-day free trial. Setup is a one-time fee at activation. Overage billed monthly in arrears. Three-tier isolation included on Pro and Enterprise.

Basic

Move off spreadsheets and the Ministra UI.

$79 / portal / month

Billed monthly.

$999 one-time setup

Start 14-day free trial
  • 3 Ministra portals included
  • 3,000 portal users per portal
  • Overage: $15 per 1,000 users
  • Prepaid Wallet + Postpaid Invoice billing
  • White-labelled storefront per reseller
  • 11 transactional email templates
  • Sub-second portal sync (Go agent)
  • Standard support
Most popular

Pro

Activate your reseller network.

$99 / portal / month

Billed monthly.

$699 one-time setup

Start 14-day free trial
  • 5 Ministra portals included
  • 5,000 portal users per portal
  • Overage: $12 per 1,000 users
  • Three-tier isolation (Owner → Reseller → Sub-Reseller)
  • Independent payment gateways per tier
  • Annual rate overrides + per-plan dunning
  • Anti-Abuse engine, Dynamic Event rules
  • Priority support

Enterprise

Run a network at 50K+ customer scale.

$199 / portal / month

Billed monthly.

$499 one-time setup

Start 14-day free trial
  • 10 Ministra portals included
  • 10,000 portal users per portal
  • Overage: $10 per 1,000 users
  • Centralized Commission + Withdrawals
  • Per-tenant Resend (your sending domain)
  • GDPR Right-to-be-Forgotten workflow
  • API + Webhooks, per-tier scoped
  • Dedicated account manager + SLA

All plans include a 14-day free trial. No credit card required to start. Overage billed monthly in arrears. Prices in USD.

Compare plans

Pick the tier that fits your operation.

Every plan ships the core platform. Higher tiers add isolation depth, compliance workflows, and dedicated support.

Capability Basic Pro Enterprise
Scale
Portals included 3 5 10
Portal users per portal 3,000 5,000 10,000
Overage rate $15 / 1,000 users $12 / 1,000 users $10 / 1,000 users
Ministra sync < 1s · bi-directional < 1s · bi-directional < 1s · bi-directional
Isolation & resellers
Reseller hierarchy Owner → Reseller Owner → Reseller → Sub-Reseller Owner → Reseller → Sub-Reseller
Database-level isolation Included Included Included
Independent Stripe per tier Included Included Included
Per-reseller storefront Included Included Included
Pricing control
Hierarchical pricing cascade Included Included Included
Per-reseller wholesale pricing Included Included Included
Customer price floor + ceiling Included Included Included
Promo codes per tier (within margin) Included Included Included
Multi-currency pricing Included Included Included
Per-portal package pricing Included Included Included
Volume tier pricing Included Included
Billing models
Prepaid Wallet Included Included Included
Postpaid Invoice + dunning Included Included Included
Centralized Commission + Withdrawals Included
Recharge cards (prepaid PINs) Included Included Included
Trials configuration Included Included Included
Operations
Multi-portal management Included Included Included
STB event commands Included Included Included
Dynamic event rules Included Included
Anti-Abuse engine Included Included
Bulk customer import Included Included Included
API + Webhooks Read-only Full Full + custom
Compliance & support
Full customer audit log Included Included Included
Per-tier audit trail Included Included Included
GDPR Right-to-be-Forgotten Included
365-day archive substrate Included
Transactional email Shared SMTP Shared SMTP Per-tenant Resend
Support tier Standard Priority Dedicated AM + SLA
Start now Pick Basic Pick Pro Pick Enterprise

FAQ

Questions operators ask us.

Still not sure? Email contact@billistra.com — we read every message.

Does Billistra replace Ministra?
No. Ministra (Stalker Portal) still runs your streams and portal users. Billistra is the control plane on top — billing, customers, resellers, payments, emails, compliance — kept in real-time bi-directional sync with every portal via our Go agent.
How does 3-tier isolation actually work?
Every database row carries a tenant_id. Seventy-five foreign-key constraints make cross-tier reads impossible at the data layer. API endpoints are scoped per role: a Reseller’s API call physically cannot return another reseller’s data, because the query is rewritten with the caller’s tenant scope before it ever hits the database. This is enforced infrastructure, not a UI permission.
How does hierarchical pricing work?
Owners set master pricing per package and per portal, plus a per-Reseller wholesale price (the Reseller’s cost) and a floor/ceiling that bounds what the Reseller is allowed to charge customers. Resellers do the same one tier down: they set their Sub-Resellers’ cost and a floor/ceiling. Every tier sees only the prices they control or are charged. The platform enforces the bounds at write time — there is no path to undercut the tier above.
Can resellers see each other’s pricing?
No. Pricing is scoped the same way customer data is: a Reseller only sees their own cost (set by the Owner), their own customer price, and the wholesale prices they set for their own Sub-Resellers. A Reseller cannot see what other Resellers pay the Owner, what they charge their customers, or what their Sub-Resellers charge. Database-enforced.
What happens if a Reseller tries to sell below cost or above the ceiling?
The platform rejects the write. The pricing API returns a validation error before the row hits Postgres, and the operator console surfaces the violated bound. Same enforcement applies in bulk imports, promo-code stacking, and currency conversions — there is no path through the system that lets a Reseller breach the bounds set by the tier above them.
Can my resellers use their own Stripe account?
Yes — that is the entire point. Each tier (Owner, Reseller, Sub-Reseller) connects their own Stripe and PayPal. Money flows directly from customer to that tier’s bank account. The Owner is never the payment middleman, never holds funds, and never reconciles a payout file.
What if a reseller has a payment dispute or chargeback?
It happens on the reseller’s own Stripe account. They handle the dispute, they keep the chargeback risk, they keep the funds. The Owner can audit the event but does not intervene. Cleanest separation of concerns in the industry.
How fast is Ministra sync?
Sub-second. A Go agent maintains a WebSocket channel between Billistra and every Ministra portal you connect. When a customer signs up, the portal user is provisioned in well under a second. Most billing tools run a batch sync every 30 minutes — that gap is where customer complaints live.
How do recharge cards work?
Owners or Resellers generate prepaid PINs in bulk (CSV export). Customers redeem a PIN on the storefront or in-app — credit hits the wallet immediately. Each card has a status, expiry, and revocation path, with full audit.
Can I import customers from another billing tool?
Yes. Bulk import accepts CSV or API. Dry-run mode validates without writing. Every imported row is annotated in the audit trail with source + import ID, so migrations are reversible and reviewable.
What billing models do you support for end-customers?
Three, configurable per tier and per relationship: Prepaid Wallet (load credit, auto-debit on renewal), Postpaid Invoice (monthly cycle with dunning), and Centralized Commission (platform collects, distributes commission to resellers via Withdrawal Requests). Switch models per relationship at any time.
How does GDPR Right-to-be-Forgotten work?
Operator initiates an RTBF on a customer record. Personal data is pseudonymized; financial records required for tax and accounting survive in the archive substrate. A legal-grade compliance report is generated. Available on the Enterprise plan.
Can I white-label the storefront?
Yes, per reseller — their domain, their logo, their colors, their plans. Three template designs (Modern, Classic, Bold) out of the box, plus a CSS escape hatch. Resellers enable it without writing code.
What is your scale ceiling?
Designed and tested for 40–50K customers per operator with sub-100ms query latency. Overage billing kicks in past the plan threshold. If you are operating beyond that, contact us and we will scope a custom Enterprise arrangement.
Is there an API?
Yes — REST API with per-tier scoped keys, plus webhooks. The Owner has full network access; Resellers can only access their own data. Documented at docs.billistra.com.
How do you handle multi-currency?
Each tenant configures their default currency. Stripe handles FX where applicable. Resellers can sell in their local market without the Owner converting on their behalf.
What if I have 100K+ customers?
Talk to us. We will scope a custom Enterprise arrangement with the right portal allocation, custom overage rates, and an SLA that matches your traffic profile.
How do I contact support?
Email contact@billistra.com or use the in-app support widget. Standard support is included on every plan. Pro adds priority response. Enterprise includes a dedicated account manager and an SLA.

Start your 14-day free trial

Run Billistra on a real portal this week.

Connect a Ministra portal, bulk-import your customers, plug in a reseller’s Stripe, and watch the storefront, wallet, and sync work — before you commit to a plan.

No credit card required · Cancel anytime · Setup in under 30 minutes