Docs · Operational cost estimate
Understanding the operational cost estimate.
Browser subscriptions are fixed-price and enforced by concurrent-session
capacity, not by hours, calls, or page navigations. The
GET /v1/account/cost endpoint is a UTC-month
estimate of Driftstack's operational cost to serve your account. It is not
the amount charged to you and it does not replace a Stripe invoice or
NowPayments receipt.
Estimate components
The response keeps a stable five-component shape. Today only the compute estimate is populated. Storage, egress, email, and LLM are reserved fields and return zero; none of these values is an invoice line item.
- Compute estimate
- Derived from session lifecycle time in whole minutes and Driftstack's internal fleet-cost rate. Session minutes are analytics for unit economics; your browser subscription is not charged per minute.
- Storage (reserved)
-
storageCentsis present for response-shape stability, but no per-account storage meter feeds it in production. It currently returns zero. - Egress (reserved)
-
egressCentscurrently returns zero. Browser stream traffic is not itemized as a customer usage charge. - Email (reserved)
-
emailCentscurrently returns zero. The endpoint does not turn transactional email into an invoice line item. - LLM (reserved here)
-
llmCentscurrently returns zero, including for bundled-LLM users. Bundled LLM's separate status endpoint records a 10-cent-per-turn included-service budget value; it is not rolled into this estimate or separately itemized by Stripe today. BYOK charges stay with the model provider.
Operator threshold state
Every cost response includes a
thresholdState field with one
of three values:
- under-soft
The operational estimate is below the operator warning threshold for your tier.
- between-soft-and-hard
The estimate crossed the operator warning threshold but remains below the higher attention threshold. The platform may publish an in-app account notification and an operator log; it does not send a billing email or change your subscription.
- over-hard
The estimate crossed the operator attention threshold. This is an operational signal, not a customer spending cap: it does not add an overage, rate-limit new sessions, or stop work already running.
Threshold numeric values are not part of the customer response because they are operator-tuned unit-economics configuration. The categorical state is diagnostic context only; your concurrent-session cap remains the browser-capacity enforcement boundary.
Reading the endpoint
Endpoint:
GET /v1/account/cost?billing_cycle=YYYY-MM.
Omit the parameter for the current cycle. Returns 200 with a
synthesised zero-breakdown for fresh accounts that haven't
accrued usage yet (no 404).
// Example response
{
"account_id": "01HF...",
"billing_cycle": "2026-05",
"tier": "api_builder",
"breakdown": {
"computeCents": 4720,
"storageCents": 0,
"egressCents": 0,
"emailCents": 0,
"llmCents": 0,
"totalCents": 4720,
"thresholdState": "under-soft"
}
}
All amounts are integer accounting cents in the operational estimate.
totalCents is the sum of the five response
fields, but it is not an invoice total. Use Stripe billing state and
invoices, or the relevant NowPayments receipt, for payment truth.
FAQs
Is the response real-time?
The endpoint recomputes each request from current lifecycle-derived session minutes. It does not read a Stripe invoice or a customer usage-billing ledger.
Why is LLM cost 0 even though I'm using bundled AI?
The LLM field in this endpoint is reserved and always zero today.
Bundled LLM records its 10-cent-per-turn included-service budget on
GET /v1/account/me/bundled-llm-settings,
not here. BYOK usage is billed directly by your model provider.
What happens if the estimate crosses the higher threshold?
The platform records an operator alert and can publish an in-app account notification. It does not email a customer billing warning, add an invoice item, rate-limit a session, or silently stop work.