Billing and Credits
Simple pricing story
Xalec pricing should be read the same way everywhere:
- Subscription gives platform access and an included credit allowance.
- Top-ups buy extra compute when the plan allowance is not enough.
- Jobs and add-ons consume credits through estimate, reserve, settlement, and refund.
This applies to the pricing page, billing workspace, job detail billing, assistant answers, and support documentation.
Pricing model
- monthly or annual plans pay for product access plus included credits
- wallet top-ups are separate compute purchases when the included allowance is not enough
- self-serve top-ups start at
$0.10per credit - larger prepaid packs may lower the effective per-credit rate
- the quick self-serve top-up calculator currently uses the base checkout rate; pack pricing is shown separately as reference pricing
Subscription credit lifecycle
- included plan credits are the allowance bundled into the active monthly, yearly, Team, or Enterprise plan
- purchased wallet credits are separate top-up credits bought for extra compute
- included monthly credits refresh at the start of the next billing cycle and normally do not roll forward indefinitely
- purchased wallet credits remain in the wallet until used, unless a future account term or contract defines an expiry rule
- if included credits remain at the end of the month, they reset with the plan cycle; they are not converted to cash and are not treated as a refund balance
- if credits run out before the month ends, the user can buy top-up credits, upgrade the plan, wait for the next allowance refresh, or request a workspace spend-cap increase where Team or Enterprise controls allow it
- yearly plans should define whether credits are released monthly, quarterly, or as a contract-defined annual pool; annual pools should use admin caps and approval thresholds
The billing UI should keep plan allowance, purchased wallet credits, reserved charges, settled net charges, refunds, and available balance visibly separate.
Credit source labels
subscription_allowance: included plan credits for the active billing periodtop_up_purchase: purchased wallet credits from a payment provider or invoicetrial_credit: optional one-time registration or promotional grantservice_debit: reserved or direct charge for a billable actionservice_refund: credits returned after failure, cancellation, or settlement below the reserved amount
Legacy rows can still use older names such as initial_credit or payment_credit. Read those through the same model: initial credits are trial-style grants, and payment credits are top-up purchases.
What is charged
- Training runs
- SHAP analysis when triggered as an add-on
- AI report generation when triggered as an add-on
What you will see in the UI
- estimated charge before you launch an action
- recorded ledger entries after the debit is actually posted
- account credit balance after the latest billing event
- job-level billing context on the job detail page
- reserved charges, settled net charges, and refunds for variable-cost actions
Important distinction
Estimated charges are planning cues. Recorded debits are actual wallet credit events.
Some add-on actions also use reservation plus settlement.
- a Reserved Charge is a provisional hold
- a Net Charge is the actual credits kept after settlement
- a Refund returns credits when the reserved amount was higher than the settled amount
Plan pricing and wallet pricing are also different on purpose.
- a plan includes access, retention, collaboration, and governance features
- included monthly credits are part of that subscription package
- wallet top-ups are priced as standalone compute
- optional registration trial credits are not a subscription allowance
So you should not expect the plan fee divided by included credits to exactly match the wallet top-up rate.
Training jobs also record a shadow enhanced price. The live charge remains the
reserved estimate unless MLAGENT_TRAINING_PRICING_MODE=active is enabled. The
shadow price helps the team inspect whether model family, dataset size, media
size, and runtime would materially change the charge before applying that model
to paid users.
A good workflow is: 1. read the estimate before launch 2. run the action 3. confirm the recorded debit afterward if you need audit certainty
Typical charge points
Training
Charged when you submit a training job.
SHAP
May be charged separately when the user launches SHAP as an add-on from the completed job page/API.
Manuscript generation
May be charged separately when manuscript generation or regeneration is triggered.
AI report actions are provider-aware. A report can reserve credits first and later settle to a smaller net charge or even 0 if no live LLM provider usage was detected and the report completed through fallback mode.
Prediction
Manual prediction is free for single-record previews from a completed job. Batch prediction is metered after the included row/item allowance and may reserve credits based on the uploaded row/item count, upload or media size, service multipliers, and selected model-family factors.
When refunds may apply
- a job fails before usable training output is produced
- a billed add-on action is configured to refund on failure
- a workflow aborts before the debit should stand
- a reserved AI report or SHAP charge settles lower than the original hold
- an AI report completed through deterministic fallback with no billable live-provider usage
Late training failures can also record a shadow partial-charge decision. In
the default shadow mode, the normal refund still applies. In active mode,
eligible late failures may keep a bounded compute-used charge and refund the
remaining reservation.
Where to review billing
Billing page
Use this for account-wide history, active plan context, credit balance tracking, and the normalized net story for reserved or settled actions.
Job detail page
Use this for: - what was estimated for this job - what was actually charged after settlement - whether a later add-on such as SHAP or manuscript generation was billed separately
Common billing questions
Why does the plan price not match the wallet credit rate exactly?
Because plans package product access and workflow features, not just raw compute credits.
Do unused included credits roll over?
Included plan credits normally reset with the plan cycle. Purchased top-up credits are separate wallet credits and remain available until used unless a future account term or contract defines an expiry rule.
What happens if I run out of credits before the month ends?
New billable actions should pause until the workspace has enough available credits. The user can buy top-up credits, upgrade, wait for the next refresh, or request a spend-cap increase where workspace controls allow it.
When does per-job pricing break even?
Per-job break-even happens when settled job revenue covers the variable cost of compute, storage, provider usage, and support for that job. Company break-even also requires subscription and usage revenue to cover fixed monthly costs.
Why does training have a charge but SHAP does not?
Because SHAP may not have been triggered yet, may not be supported for that path, or may be handled under a different policy.
Why does SHAP appear separately from training?
Because it is often a follow-on action rather than part of the initial training run.
Why does an estimate differ from a recorded debit?
Because the estimate is shown before execution, while the recorded debit reflects the actual completed action and current billing logic.
Why do I see multiple billing events for one job?
Because one job can involve separate billable steps such as training, SHAP, and manuscript generation, and some of those steps reserve credits first and settle later.
Why did a successful AI report get refunded?
Because successful report delivery and billable live LLM usage are not the same thing. If the report completed through the deterministic fallback path and no live provider usage was detected, the reserved AI report charge can settle to 0.
How should I read job-level billing totals?
Read them as net totals: - training charge - plus settled SHAP net charge - plus settled AI report net charge
Do not add provisional holds and later refunds as separate final costs.
Best practice
If cost matters, treat training, SHAP, and manuscript generation as separate checkpoints and confirm each one before launching the next.
Related guides
- Jobs and Results
- Quickstart
- Troubleshooting