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 + 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 | — | — | — | ✓ |
Rate limits
Per plan, applied per API key:| Plan | RPM | Burst |
|---|---|---|
| Free | 60 | 10 |
| Core | 120 | 20 |
| Pro | 300 | 50 |
| Enterprise | 1,000+ | 200+ |
429 Too Many Requests with a Retry-After header. The SDK respects this automatically; see Errors 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.
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 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). |
How to upgrade
Self-serve
Core and Pro plans — upgrade in the dashboard, Stripe checkout, takes 30 seconds.
Enterprise
Custom quotas, SSO, on-prem deployment, private registry, dedicated support. Contact sales.