Credit System
On ANTS-hosted plans, usage is measured in credits. Credits are counted per organization, across all of its projects.
Dedicated and self-hosted deployments may run without credit metering, or with terms agreed with the ANTS Platform team. Ask your administrator which applies to you.
What costs a credit
| Item | Credits | Notes |
|---|---|---|
| Trace | 1 per trace | Every trace you send, from any SDK, OpenTelemetry exporter, integration or connector. |
| Generation | 1 per generation | An observation of type generation, such as an LLM call or embedding. |
| Score | 1 per score | Scores from the API, evaluators and human annotation. |
| AI Optimizer comparison trace | 1 per trace | Traces the AI Optimizer creates when it replays prompts on other models. |
| Guardrail scan | 1 per trace | A trace checked by the PII, PCI, PHI, ethics and bias or other guardrail detectors. At most 1 credit per trace, however many detectors run. See AI Guardrails. |
Free: spans and events, media files, storage, API reads, dashboards and OpenTelemetry metrics (which are not stored).
Example
One chat turn traced as 1 trace with 1 retrieval span, 2 LLM generations and 1 tool span, plus 1 evaluator score, uses:
Plan allowances
| Plan | Credits |
|---|---|
| Trial | New organizations start with a trial of 50,000 credits. |
| Pro | 100,000 credits per month. Usage above the allowance is billed as overage at $0.01 per credit. |
| Enterprise | Agreed with the ANTS Platform team. |
Prices and plan features are on Billing & Plans. There are no separate credit packs. Deleting traces does not return credits.
When credits run out
Ingestion is checked on every write request: the ingestion API, OpenTelemetry endpoints, scores and media uploads. When an organization is blocked, these requests return HTTP 402 Payment Required with a message and a reason, for example:
- trial credits are used up
- the trial has ended
- a payment failed
- there is no payment method for overage usage
- the subscription has ended
Data sent while the organization is blocked is not stored. SDKs and exporters do not keep it for later. When trial credits run out, organization members receive an email.
Pro organizations with a payment method are not blocked when the monthly allowance is used; extra usage is billed as overage.
These organizations are never blocked by credits. The ingestion API, OpenTelemetry endpoints and AI Optimizer comparisons do not return 402 for them:
- Organizations on an Enterprise plan.
- Every organization on a deployment that sets
CREDIT_SYSTEM_ENABLED=false. - Organizations whose ID is listed in
CREDIT_SYSTEM_ORG_EXCLUDES(comma-separated) on the deployment.
Usage is still counted for Enterprise organizations. The plan name in the header can still show (Payment Required); nothing is blocked.
See your usage
Go to Organization Settings > Billing. The Usage & Billing page shows credits used in the current period, your allowance and balance, trial status, and a breakdown by type. Only the Owner role can see this page. See Billing & Plans.
Reduce credit usage
- Sample traces in the SDK. Set
sample_rate(Python) orANTS_PLATFORM_SAMPLE_RATEto send only a share of traces. Sampling is per trace, so sampled traces stay complete. - Skip what you do not need. Do not wrap trivial functions in generations. Use spans for non-LLM steps; they are free.
- Filter exported spans. In JS/TS, use
shouldExportSpanon the span processor. In Python, useblocked_instrumentation_scopesto drop spans from noisy libraries. - Score selectively. Each score costs a credit. Run evaluators on a sample of traces rather than all of them.
- Separate environments. Use a separate project or organization for load tests so they do not use production credits.