Billing
The platform bills against a prepaid USD credit: you top up in the Console, and every day the table and streaming fees of the previous day are deducted automatically. There are no month-end invoices and no pay-later. Sandbox tenants are never billed.
Prices
| Item | Price | Notes |
|---|---|---|
| Table fee (paid plan) | USD 100 per enabled table per month | Charged daily, pro rata; no table fee on the free plan |
| Streaming | USD 0.09 per GB | Video watched by players; charged to the prepaid credit on every plan |
| Sign-up credit | USD 5 | So the free plan can try video too |
Prices are versioned with effective dates, and every charge records the unit price used; a price change never alters past charges. The platform may offer different prices to specific tenants.
Daily charge
Every day at 00:05 UTC the previous UTC day is charged:
table fee for the day = table-days × USD 100 ÷ days in the month
streaming fee for the day = streaming GB × USD 0.09- Table-days: each table that was enabled at any time during the UTC day counts as one full day, including the day it was enabled and the day it was disabled.
- A table enabled for a whole month costs exactly USD 100, whatever the length of the month. For example, 3 tables in September (30 days) cost 3 × 100 ÷ 30 = USD 10 per day.
- 1 GB of streaming is 10⁹ bytes.
- Amounts are accumulated in millionths of a dollar; USD amounts in API responses have up to 6 decimals, and statements are rounded to cents.
- Charging is idempotent: each item is charged once per day.
Usage fees for shared tables
When you use a table another merchant shares with you (see Tables & round results):
- It counts towards your table count and table fees like a platform table, and its viewing traffic is part of your streaming fee.
- The provider may charge a usage fee (free by default): a fixed daily fee (one day for each day the table was enabled) or a percentage of valid bets (converted to USD at the platform's rates).
- Every day at 00:05 UTC, after the daily charge, the platform deducts the previous day's usage fees from your prepaid credit (billing ledger type
share_fee) and credits the provider (share_income; the platform cut is 0 by default). Sandbox tenants are never billed. - Usage fees you earn by sharing your own tables are added to your prepaid credit and can pay your platform fees.
Cross-merchant clearing for Hold'em player-vs-player tables
On Hold'em player-vs-player tables your players may sit with other merchants' players (see Tables & round results), so money moves between players of different merchants. The platform clears it as the counterparty of every merchant:
- For each hand the platform records every merchant's net result: your players' win/loss for the hand plus the rake attributed to them by contribution (the bet's
rake). The net results of all merchants in a hand add up to 0. - Every day at 00:05 UTC the previous day's net results are totalled per currency and converted to USD at the platform's rates: a net win (positive) is added to your prepaid credit and a net loss (negative) is deducted from it (billing ledger type
clearing). - Sandbox tenants and platform showcase accounts only play on play-money tables; their results are recorded but never posted.
- The daily details are in the Console under Hold'em records → Cross-merchant clearing (daily batches, today's running total, totals per table).
Plans
Free demo plan (free) | Paid plan (paid) | |
|---|---|---|
| Purpose | Demos and evaluation; many limits | Real operation |
| Tables | At most 2 (the platform can change this) | Unlimited, USD 100 per table per month |
| Streaming | USD 0.09 per GB from the prepaid credit | USD 0.09 per GB from the prepaid credit |
| Limits | See free demo plan limits | No demo limits |
- Upgrade yourself in the Console under Plan & billing → Plan. The prepaid credit must cover at least 7 days of table fees for your current tables (at least 1 table); for example 3 tables need 3 × 100 × 7 ÷ 30 = USD 70. Top up first if it is not enough.
- Downgrade yourself to the free plan in the Console. It takes effect immediately, the day's fees still apply, and tables beyond the free quota are disabled.
Top-ups
Top-ups are made in the Console under Plan & billing → Top up only; there is no API for them:
- USDT (TRC20): each tenant has its own deposit address; the credit is added automatically once the transfer is confirmed on chain, 1 USDT = USD 1.
- Card and PayPal: offered when the platform enables them.
A receipt is emailed to the billing contact, and an account in grace or downgraded is restored automatically.
Account states
| State | Meaning | Effect |
|---|---|---|
FREE | Free demo plan | Demo limits apply |
PAID | Paid plan with credit | Normal service |
GRACE | Paid plan whose credit ran out (balance ≤ 0), in the grace period | Service continues and table fees still apply; the Console shows a red banner and reminders are emailed |
DOWNGRADED | Grace period over without a top-up | Tables beyond the free quota are disabled and demo limits apply; the tables you had enabled are remembered |
SUSPENDED | Suspended by the platform | Every API call returns TENANT_SUSPENDED; data is kept |
CLOSED | Account closed | Same as above |
All transitions are automatic:
PAID→GRACE: the balance is ≤ 0 after a daily charge. The grace period is 3 days.GRACE→PAID: a top-up within the grace period makes the balance positive.GRACE→DOWNGRADED: the grace period ends. Tables beyond the free quota are disabled (the first ones in your Console table order are kept).DOWNGRADED→PAID: a top-up makes the balance positive and the tables enabled before the downgrade are re-enabled automatically.- When the credit is ≤ 0 outside the grace period, video playback pauses (for example on the free plan once the sign-up credit is used up).
Every state change is emailed to the billing contact and sent as a webhook: account.grace, account.downgraded, account.restored. A credited top-up sends account.topup.
Low-balance alerts
On the paid plan, after each daily charge the platform estimates "balance ÷ average daily cost of the last 7 days". When it drops below 7 days (adjustable under Billing notifications in the Console), a reminder is emailed, a yellow banner appears in the Console and the webhook account.low_balance is sent (at most once a day; a billing contact email must be set).
Reading it through the API
| Endpoint | Content |
|---|---|
GET /account | Plan, state, prepaid credit, enabled tables and quota, streaming GB this month, average daily cost over 7 days, estimated days left, grace deadline |
GET /account/usage?from=&to= | Table-days, streaming GB and charges for each UTC day; today shows the running total |
GET /account/statements | The last 24 monthly statements (each month's statement is produced on the 1st of the next month) |
We recommend subscribing to the account webhooks, or reading GET /account once a day, and alerting your operations team when daysLeft gets low or state is GRACE.