> ## Documentation Index
> Fetch the complete documentation index at: https://docs.decimal.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Pricing

> DecimalAI plan tiers — Free, Core, Pro, Enterprise — with quotas, rate limits, and Skills Registry features.

DecimalAI is free to start. You pay only when you exceed the Free tier's monthly quotas or need a higher-tier feature.

For the customer-facing version with current dollar amounts, see [decimal.ai/pricing](https://decimal.ai/pricing). This page is the source of truth for what each plan **technically allows** — quotas, rate limits, gated features, and enforcement behavior.

## Plan tiers

|                                                | Free      | Core (\$49) | Pro (\$199)   | Enterprise      |
| ---------------------------------------------- | --------- | ----------- | ------------- | --------------- |
| **Monthly traces ingested**                    | 5,000     | 10,000      | 100,000       | Custom          |
| **Monthly SFT rows built**                     | 500       | 5,000       | 50,000        | Custom          |
| **Monthly LLM-judge calls**                    | 100       | 1,000       | 10,000        | Custom          |
| **Monthly benchmark cases (hosted, verified)** | 100       | 1,000       | 5,000         | 25,000          |
| **Agents**                                     | 1         | 3           | 10            | Unlimited       |
| **Skills in org**                              | 10        | 50          | 250           | Unlimited       |
| **Workspaces**                                 | 1         | 3           | 10            | Unlimited       |
| **Members**                                    | 1         | 5           | 25            | Unlimited       |
| **API keys**                                   | 2         | 10          | 50            | Unlimited       |
| **Data retention**                             | 14 days   | 30 days     | 90 days       | 365 days        |
| **Support**                                    | Community | Email       | Email + Slack | Dedicated + SLA |

## Skills registry features

The skills layer — registry browse, install, smart routing, and observability — is the wedge feature; Free is generous on purpose. Capabilities gated to paid tiers focus on **publishing**, **analytics**, and **team workflow**.

| Capability                                             | Free | Core | Pro | Enterprise |
| ------------------------------------------------------ | :--: | :--: | :-: | :--------: |
| Browse public registry (no signup)                     |   ✓  |   ✓  |  ✓  |      ✓     |
| `decimalai skills pull <slug>` — read a skill, no auth |   ✓  |   ✓  |  ✓  |      ✓     |
| Install (fork) registry skills                         |   ✓  |   ✓  |  ✓  |      ✓     |
| Create your own skills (within skill cap)              |   ✓  |   ✓  |  ✓  |      ✓     |
| `router.get_menu()` — static skill menu                |   ✓  |   ✓  |  ✓  |      ✓     |
| `router.smart_route()` — semantic + effectiveness rank |   ✓  |   ✓  |  ✓  |      ✓     |
| Public skill dashboards + OG cards + embed widget      |   ✓  |   ✓  |  ✓  |      ✓     |
| Version diff viewer (public registry)                  |   ✓  |   ✓  |  ✓  |      ✓     |
| Per-model effectiveness on **public** registry skills  |   ✓  |   ✓  |  ✓  |      ✓     |
| Publish your skills to the public registry             |   —  |   ✓  |  ✓  |      ✓     |
| Per-model effectiveness on **your org's** forks        |   —  |   ✓  |  ✓  |      ✓     |
| `analytics/compare` — A/B two versions                 |   —  |   ✓  |  ✓  |      ✓     |
| `analytics/leaderboard` — rank your skills             |   —  |   ✓  |  ✓  |      ✓     |
| Weekly skill degradation digest email                  |   —  |   ✓  |  ✓  |      ✓     |
| Per-agent skill bundle assignment                      |   —  |   —  |  ✓  |      ✓     |
| Named bundle templates                                 |   —  |   —  |  ✓  |      ✓     |
| Skill audit log                                        |   —  |   —  |  ✓  |      ✓     |
| Org-private registry (workspace-only visibility)       |   —  |   —  |  —  |      ✓     |
| Private registry (skills never on api.decimal.ai)      |   —  |   —  |  —  |      ✓     |
| BYO embedder for `smart_route`                         |   —  |   —  |  —  |      ✓     |
| SSO for registry access                                |   —  |   —  |  —  |      ✓     |

<Tip>
  **Gating behavior — soft today, hard later.** Free-tier callers can still invoke the paid feature endpoints today; responses include an `X-Plan-Upgrade-Required: core` header so you can see what your team needs before upgrading. Future cutover to hard 402 enforcement will be announced in the changelog.
</Tip>

## Rate limits

Per plan, applied per API key:

| Plan       | RPM    | Burst |
| ---------- | ------ | ----- |
| Free       | 60     | 10    |
| Core       | 120    | 20    |
| Pro        | 300    | 50    |
| Enterprise | 1,000+ | 200+  |

When you hit a limit, responses return `429 Too Many Requests` with a `Retry-After` header. The SDK respects this automatically; see [Errors](/api-reference/errors#rate-limits) for direct-API behavior.

## Quota enforcement

Quotas are enforced **per resource**, not as a single bucket:

| Resource            | Checked at                                                                               | On-limit response                             | Special rules                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ------------------- | ---------------------------------------------------------------------------------------- | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Traces ingested** | Every `POST /api/v1/traces` (and `POST /traces/batch`)                                   | `429` with `detail: "limit_exceeded"`         | Imported traces count at half rate (see Quota for backfills below)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **SFT rows built**  | `POST /api/v1/datasets/{id}/build`                                                       | Build rejected pre-flight                     | Rejected before any work runs if the build would exceed your quota                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **LLM-judge calls** | Every LLM-judge evaluator run                                                            | LLM-judge checks silently skipped             | Deterministic checks still run after the budget hits zero                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Skills in org**   | Create/install time — `POST /api/v1/skills` and `POST /api/v1/registry/skills/{id}/fork` | `402 Payment Required` with an upgrade link   | Existing over-cap orgs are grandfathered; the cap blocks new creates only                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **Benchmark cases** | When you trigger a hosted run (pre-authorized)                                           | Run blocked unless enough cases are available | Errored cases are refunded; granularity-neutral. <Accordion title="What counts (and what doesn't)">One metered case = one eval case executed on the hosted runner (both A/B arms + judge included). It is pre-authorized when you trigger a run — a 50-case suite needs 50 available cases — and **errored cases are refunded** (an LLM outage mid-run doesn't consume quota). Granularity-neutral by design: one 50-case run costs the same as ten 5-case runs. Three things never touch this meter: **local runs** (the [open-source runner](/guides/skillevaluation#run-it-locally-free) executes on your own API key), **pushing local results** (a JSON upload), and the **verification run triggered by publishing** (free by design — publishing never competes with your quota).</Accordion> |

Monthly quotas reset on the first of each calendar month (UTC).

<Tip>
  **Quota for backfills.** Imported traces (via `POST /api/v1/import/traces`) count at **half rate**. A backfill of 10k traces costs 5k against your `traces_ingested` quota. For larger one-time backfills, contact support — we routinely grant temporary bumps.
</Tip>

## How to upgrade

<CardGroup cols={2}>
  <Card title="Self-serve" icon="credit-card" href="https://app.decimal.ai/settings/billing">
    Core and Pro plans — upgrade in the dashboard, Stripe checkout, takes 30 seconds.
  </Card>

  <Card title="Enterprise" icon="building" href="mailto:sales@decimal.ai">
    Custom quotas, SSO, on-prem deployment, private registry, dedicated support. Contact sales.
  </Card>
</CardGroup>
