Billing & Metered Overage
We never stop ingesting and we never delete data. Above your tier cap, overage is metered at a published per-event and per-agent rate and charged in mid-cycle debits as it accrues. No surprise invoices: the dashboard meter is live and rates are locked.
402 Payment Required at the tier cap (no Stripe card on file means no metering). Once you add a card and the trial converts, the metered-overage flow below kicks in and you stop seeing 402s on caps.How overage is calculated
Each billing cycle has two meters: events ingested and active agents. Anything above your tier's included counts accrues at the published rate:
overage_usd
= max(0, events_this_cycle - events_cap) * per_event_rate
+ max(0, active_agents_this_cycle - agents_cap) * per_agent_rateBoth counters reset at the start of every billing cycle. The events meter is real-time (every ingest increments it); the agents meter counts your registered agents against the plan cap — the oldest agents fill the plan's included slots, and each agent above the cap bills its monthly fee at most once per calendar month, whether it was registered over-cap or was already running when the cap changed.
Worked example — Growth tier
A Growth customer ($399/mo, 1,000,000 events + 10 agents included) ingests 1,500,000 events and has 12 active agents this cycle. The bill works out as:
| Line item | Amount |
|---|---|
| Growth subscription | $399.00 |
| 500,000 events over cap × $0.0010 | $500.00 |
| 2 agents over cap × $29/mo | $58.00 |
| Total this cycle | $957.00 |
When you're charged mid-cycle
Overage isn't held until the end of the cycle. Once the accumulator crosses 25% of your plan price, Stripe fires an off-session PaymentIntent against your card on file for the accumulated amount, the accumulator resets to zero, and the cycle continues. Statement descriptor reads WYTNESS OVERAGE.
For a Growth customer ($399/mo plan) the threshold is $99.75 — so every time accrued overage crosses that line, the card is hit. Most months that's zero charges (you stayed under cap) or a small handful of mid-cycle debits rather than one large invoice-end shock.
End of cycle
Whatever sub-threshold overage is still in the accumulator at cycle close is collected at renewal — one off-session charge for the remainder, then the meter resets to zero so the new cycle starts clean. Renewal happens on your usual billing date and covers the subscription; the overage remainder arrives as its own separate charge.
If a card payment fails
We give you 48 hours of grace before anything stops. Inside that window:
- Ingestion continues. Events keep landing on
/ingest. - An undismissable banner appears across the dashboard explaining what happened and where to fix the card.
- Escalating emails go to the org's billing contact on hours 0, 6, 18, and 36.
- Stripe retries the payment on its own cadence (smart retries).
If the 48-hour window closes with no successful charge, ingestion pauses for that org. Existing events stay readable; new POSTs return 402 Payment Required until the card is fixed. Nothing is deleted, and the chain isn't broken — ingestion resumes as soon as the payment clears.
Cancelling
Cancellation starts in the dashboard (Account → Subscription), and the cancel dialog shows your outstanding usage balance before you confirm. The mechanics differ by billing channel:
- Card (Stripe): cancellation takes effect at the end of the paid period — you keep full access until then, and any outstanding usage charges are collected when the subscription ends. Changed your mind? Resume any time before the period closes.
- Azure Marketplace: cancellation is immediate — that is Microsoft's model, with no refund outside their 72-hour window and metered charges never refunded. Usage already recorded is reported to Microsoft before the subscription closes and appears on your Azure invoice. To keep paid access to the end of the current term instead, turn off recurring billing in the Azure portal rather than cancelling.
After cancellation your audit data stays readable for 30 days — sign in, view and export everything — and your sealed Evidence Packs are generated automatically — we email you when they're ready to download. Re-subscribing within the window keeps all of it; after 30 days the data is permanently deleted.
Trial behaviour (different)
Trial customers do not have a Stripe card on file, so the metered-overage path can't fire. Instead, trials retain the original hard cap: when an org exceeds its tier's events or agents cap during the trial, new POSTs return 402 Payment Required until you add a card and convert the trial. After conversion, the metered flow above kicks in and 402s on caps go away.
Notifications
You see overage status in three places before any charge fires:
| Channel | When it fires | What it says |
|---|---|---|
| Dashboard meter | Live — updates with each ingest | Events used, agents used, accumulator $$ accrued, next charge threshold |
| Dashboard banner | Day 1, 2, and 3+ over cap; persists until acknowledged or back under cap | Plain-English summary + link to billing settings |
| Day 1, 2, and 3+ over cap (and once per Stripe charge) | Same content as the banner, plus the Stripe receipt |
Real-time visibility
The dashboard's billing section shows your current cycle's events and active agents against your tier caps, the accrued overage in dollars, and the next-charge threshold. For "what if" estimates against any tier or volume, the public overage calculator on the pricing page lets you plug in numbers without signing in.
Tier rates
Rates are locked in shared/pricing.json and surface identically in the pricing tiles, the live calculator, the SDK, and the backend meter. They don't move without a tier price change + customer-facing notice.
| Tier | Subscription | Event overage | Agent overage |
|---|---|---|---|
| Starter | $199/mo | $0.0020 per event | $39/agent/mo |
| Growth | $399/mo | $0.0010 per event | $29/agent/mo |
| Business | $1,999/mo | $0.0005 per event | $19/agent/mo |
| Enterprise | $2,999/mo | Custom (no per-event meter) | Custom (no per-agent meter) |
Billing FAQ
What if I'm over by accident?
You won't be quietly billed thousands of dollars. The dashboard banner + email on day 1 over cap give you a chance to investigate and pause the upstream cause (runaway agent, bad batch import). Day-2 and day-3 escalations follow if the situation persists. Overage debits are capped at the 25% threshold per charge, so any single accidental run shows up as one or two modest charges, not a single five-figure bill.
How do I see real-time usage?
The dashboard billing page is live — events and active agents update within seconds of each ingest. Accrued overage in dollars is shown right next to the meter, alongside the next-charge threshold. The public overage calculator is the same math for anyone planning ahead.
What about chargebacks or disputes?
Every overage charge has a Stripe statement descriptor of WYTNESS OVERAGE and a corresponding line in the dashboard billing history (date, amount, events + agents over cap that the charge settled). Email support@wytness.ai if you think a charge is wrong — we have the underlying meter telemetry on our side and can reconcile against your event counts in minutes.
Can I set a self-imposed ceiling?
Coming soon. Org-level usage ceilings (cap overage at $X per cycle and auto-pause ingestion beyond that) are on the roadmap. Until they ship, the dashboard meter + day-1 banner + day-1 email give you the signal to intervene manually. If you want a soft ceiling now, contact support@wytness.ai — we can configure an alert-only flag on your org that emails sooner.
Related
- Pricing tiers — the canonical per-tier breakdown with overage rates.
- Live overage calculator — plug in events + agents, see the bill.
- Docs FAQ — Billing section
- Trust Centre — DPA, sub-processors (including Stripe), and the legal pack.
Ready to audit your AI agents?
Start recording