Plans, billing & wallet

Subscriptions, add-ons, usage-based charges and your wallet.

This workspace can charge on a monthly plan, sell module add-ons, and meter usage through a wallet. Collection is off until an operator flips billing. Until then every organization is the unlimited tier and wallet top-ups are disabled.

Your subscription

Plans (Starter, Growth, Scale, Agency) live under Settings → Plan. Marketing prices are $147 / $297 / $597 / $997 a month, or ten months' price for a year (one catalog — src/lib/plans/amounts.ts). Checkout stays dark until Stripe price IDs are provisioned.

When plan enforcement is off (PLAN_ENFORCEMENT_ENABLED is not true):

  • Every organization is treated as unlimited.
  • Upgrade prompts stay hidden.
  • God Mode / portal orgs stay unlimited even after the flip.

When enforcement is on:

  • Limits on the plan you bought apply (seats, sites, storage, and any metered caps).
  • You upgrade, downgrade, or cancel from Settings → Billing. A downgrade takes effect at the next billing period.

Add-ons and usage

Some work is metered so you only pay for what you consume. Typical categories:

  • Email — per message sent from your domain
  • SMS — per segment
  • Telephony — numbers, minutes, recordings
  • Lead ingest / validation — per processed lead
  • Automation runs — per first attempt of a run
  • AI tokens — every plan includes a monthly token pool (Starter 2M, Growth 8M, Scale 25M, Agency 60M); usage past the pool is billed pay-as-you-go to your wallet

AI usage draws from your plan's included monthly pool first. If you use more than the pool holds in a calendar month, only the extra (overage) tokens are charged — the included slice is never billed. Usage resets each calendar month (UTC). You can watch AI consumption alongside everything else under Settings → Wallet.

Usage is written to the wallet ledger even when collection is off, so God Mode can see COGS. It does not stop the work, and negative balances are allowed.

When plan enforcement is on (PLAN_ENFORCEMENT_ENABLED=true), the wallet is a prepaid tank for ordinary organizations: a charge that would take the balance below $0 is refused. God Mode / portal orgs stay unlimited.

Your wallet

Open Settings → Wallet.

  • Balance is a millicent ledger (1,000 millicents = $1.00).
  • Top up and auto-top-up stay disabled until WALLET_PAYMENTS_DISABLED=false and Stripe is configured.
  • New organizations may receive a small demo credit. That is not a live payment.

If a card says the product is in Alpha and top-up is disabled, believe it.

Chatbot-as-a-Service

Agencies can provision a client workspace and a chat pixel from /agency. Checkout for setup + monthly SKUs appears only after STRIPE_CBAAS_* price IDs are set. Until then the commercial path is an invoice outside Stripe.

Publisher payouts

Leads → Publishers can batch commissions. A batch marked SIMULATED did not move money. PAID is reserved for a real Stripe Connect transfer.

What “not connected” means

Google Ads spend, enrichment identity, dialer, SMS, meetings, and Visual Vault can run in simulate mode. A yellow Test stand banner on the dashboard lists those surfaces. Simulated enrichment does not write company / title / LinkedIn onto the lead. Simulated Ads sync does not invent keyword spend.

Need help

Platform operators: docs/dev/billing-activation.md is the flip runbook. Tenants: use in-app support or your agency contact.

Usage pricing policy

Usage pricing targets at least 11 times attributable service cost: one part covers cost and ten parts are gross profit. This is a pricing floor, not a promise of realized business profitability. The AI quote floor and minimum for new composed voice pricing approvals are implemented locally; application to every service and the shared account-token conversion remain pending release verification. Existing plan allowances and funded internal usage must be accounted for separately.