Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
e3cebfc
test(catalog): pin the 2026-09-02 free-tier re-audit facts for gemini…
diegosouzapw Sep 2, 2026
9832d98
fix(catalog): re-audit gemini, ollama-cloud, groq, nara and mistral a…
diegosouzapw Sep 2, 2026
8c96efd
fix(catalog): restore the console-verified Mistral 1B pool and harden…
diegosouzapw Sep 2, 2026
1d8fc3a
docs(free-tiers): move headline to the re-audited ~1.50B and refresh …
diegosouzapw Sep 2, 2026
083bf0f
chore(free-tiers): retire stale Groq free-tier text and preset model;…
diegosouzapw Sep 2, 2026
dc95ef8
feat(catalog): eligibilityGate field and gatedRecurringTokens total
diegosouzapw Sep 2, 2026
70fdf56
docs(free-tiers): state the evidence-comment rule honestly and retire…
diegosouzapw Sep 2, 2026
635bf47
feat(check): docs-counts gate validates the eligibility-gated free-ti…
diegosouzapw Sep 2, 2026
40eb176
fix(docs): budget card reads computeFreeModelTotals() instead of rege…
diegosouzapw Sep 2, 2026
9db14c9
Merge remote-tracking branch 'origin/release/v3.8.51' into fix/free-t…
diegosouzapw Sep 2, 2026
53b4de8
docs(free-tiers): retire the stale Gemini onboarding quota text
diegosouzapw Sep 2, 2026
b6f1bdd
feat(radar): carry eligibilityGate through the feed schema, the merge…
diegosouzapw Sep 2, 2026
fb3feb1
feat(dashboard): show the eligibility-gated free-tier figure apart fr…
diegosouzapw Sep 3, 2026
6dbddfd
Merge remote-tracking branch 'origin/release/v3.8.51' into fix/free-t…
diegosouzapw Sep 3, 2026
392dac0
Merge remote-tracking branch 'origin/release/v3.8.51' into fix/free-t…
diegosouzapw Sep 3, 2026
525ccf1
docs(free-tier): refresh catalog-entry counts to 442 after base sync
diegosouzapw Sep 3, 2026
16c1796
Merge branch 'fix/free-tier-quota-reaudit' into feat/free-tier-gated-…
diegosouzapw Sep 3, 2026
3368c97
feat(catalog): ModelScope as the first eligibility-gated pool; docume…
diegosouzapw Sep 3, 2026
fde3f66
docs(free-tiers): restore README spacing lost in the merge and re-syn…
diegosouzapw Sep 3, 2026
3045083
Merge branch 'fix/free-tier-quota-reaudit' into feat/free-tier-gated-…
diegosouzapw Sep 3, 2026
f17755d
docs(free-tiers): correct the unsummed-catalog comparison figure to t…
diegosouzapw Sep 3, 2026
936326a
Merge remote-tracking branch 'origin/release/v3.8.51' into fix/free-t…
diegosouzapw Sep 4, 2026
09942a5
docs(free-tiers): re-sync numbers after merging release/v3.8.51 (Cere…
diegosouzapw Sep 4, 2026
dc39463
Merge branch 'fix/free-tier-quota-reaudit' into feat/free-tier-gated-…
diegosouzapw Sep 4, 2026
1a4e141
docs(free-tiers): re-sync numbers after merging PR1 (Cerebras reclass…
diegosouzapw Sep 4, 2026
113b608
fix(docs): keep the NaraRouter plans endpoint out of the API-path che…
diegosouzapw Sep 4, 2026
34d4c5b
fix(catalog): keep eligibility-gated rows out of every headline-adjac…
Sep 4, 2026
68d6b5c
Merge branch 'fix/free-tier-quota-reaudit' into feat/free-tier-gated-…
diegosouzapw Sep 4, 2026
3600827
Merge remote-tracking branch 'origin/release/v3.8.51' into feat/free-…
Sep 4, 2026
ed1bc26
test(catalog): allow eligibilityGate in the no-per-row-rating key all…
Sep 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@

</div>

> Stacking free tiers by hand is painful — dozens of SDKs, dozens of rate limits, and no idea how much you actually have. OmniRoute catalogs **442 free-tier entries across 34 recurring pool keys** and computes the token headline from the **16 pools with a published positive monthly budget plus five per-model Groq caps**, deduplicated by shared pool. The result stays visible on the dashboard (`/dashboard/free-tiers`).
> Stacking free tiers by hand is painful — dozens of SDKs, dozens of rate limits, and no idea how much you actually have. OmniRoute catalogs **444 free-tier entries across 34 recurring pool keys** and computes the token headline from the **16 pools with a published positive monthly budget plus five per-model Groq caps**, deduplicated by shared pool. Quotas that only open after a regional identity check (today: ModelScope) are shown apart, +~6M behind regional identity verification, and never summed into the headline. The result stays visible on the dashboard (`/dashboard/free-tiers`).

<img src="./docs/diagrams/free-tier-budget.svg" width="100%" alt="OmniRoute free-tier budget card: ~1.47B free tokens per month steady, up to ~2.10B in the first month with signup credits, from 34 documented recurring pool keys covering 442 cataloged free-tier entries behind one endpoint. Honest pool-deduped math — each shared pool counted once, including 16 recurring pools with a published positive monthly token budget plus five per-model Groq caps; 13 providers are marked avoid in the terms-risk catalog so you decide. Budget bar includes Mistral 1B, Nara 210M, LLM7 150M, Groq 30M (five per-model caps) and smaller pools, plus first-month signup credits and permanently-free no-token-cap providers surfaced separately so they never inflate the headline. Live used/remaining on /dashboard/free-tiers."/>
<img src="./docs/diagrams/free-tier-budget.svg" width="100%" alt="OmniRoute free-tier budget card: ~1.47B free tokens per month steady, up to ~2.10B in the first month with signup credits, from 34 documented recurring pool keys covering 444 cataloged free-tier entries behind one endpoint. Honest pool-deduped math — each shared pool counted once, including 16 recurring pools with a published positive monthly token budget plus five per-model Groq caps; 13 providers are marked avoid in the terms-risk catalog so you decide. Budget bar includes Mistral 1B, Nara 210M, LLM7 150M, Groq 30M (five per-model caps) and smaller pools, plus first-month signup credits and permanently-free no-token-cap providers surfaced separately so they never inflate the headline. Live used/remaining on /dashboard/free-tiers."/>

> Animated summary of the live `/dashboard/free-tiers` page. Full methodology (pool dedupe, credit tiers, provider terms): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
Expand Down Expand Up @@ -648,7 +648,7 @@ of your shell history. → [CLI Integrations](docs/guides/CLI-INTEGRATIONS.md)

</div>

> **352 registered providers** across the canonical chat, media, search, local, cloud-agent and system collections, including **152 carrying `hasFree: true` discovery metadata**. The chat model registry covers **229 providers / 2,554 distinct provider-model pairs / 1,283 raw model IDs**; the separate free-budget catalog has **442 per-model rows**, **34 recurring pools** and **52 recurring/keyless free-forever providers**. These are different denominators by design; definitions and pool-deduped calculations live in the [Provider Reference](docs/reference/PROVIDER_REFERENCE.md) and [Free Tiers](docs/reference/FREE_TIERS.md).
> **352 registered providers** across the canonical chat, media, search, local, cloud-agent and system collections, including **152 carrying `hasFree: true` discovery metadata**. The chat model registry covers **229 providers / 2,554 distinct provider-model pairs / 1,283 raw model IDs**; the separate free-budget catalog has **444 per-model rows**, **34 recurring pools** and **52 recurring/keyless free-forever providers**. These are different denominators by design; definitions and pool-deduped calculations live in the [Provider Reference](docs/reference/PROVIDER_REFERENCE.md) and [Free Tiers](docs/reference/FREE_TIERS.md).

<div align="center">

Expand Down Expand Up @@ -1307,7 +1307,7 @@ Métricas canônicas em 2026-08-24: **1.029 vídeos únicos** · **11.132.922 vi
<tr><td nowrap><b><a href="docs/architecture/RESILIENCE_GUIDE.md">Resilience Guide</a></b></td><td>Circuit breakers, cooldowns, queue, anti-thundering herd, TLS spoofing</td></tr>
<tr><td nowrap><b><a href="docs/routing/AUTO-COMBO.md">Auto-Combo Engine</a></b></td><td>16-factor scoring, mode packs, self-healing</td></tr>
<tr><td nowrap><b><a href="docs/ops/PROXY_GUIDE.md">Proxy Guide</a></b></td><td>3-level proxy system, 1proxy marketplace, registry CRUD</td></tr>
<tr><td nowrap><b><a href="docs/reference/FREE_TIERS.md">Free Tiers</a></b></td><td>Consolidated directory: 34 documented recurring pools / 442 cataloged free-tier entries</td></tr>
<tr><td nowrap><b><a href="docs/reference/FREE_TIERS.md">Free Tiers</a></b></td><td>Consolidated directory: 34 documented recurring pools / 444 cataloged free-tier entries</td></tr>
<tr><td nowrap><b><a href="docs/guides/FEATURES.md">Features Gallery</a></b></td><td>Visual dashboard tour with screenshots</td></tr>
<tr><td nowrap><b><a href="docs/architecture/CODEBASE_DOCUMENTATION.md">Codebase Documentation</a></b></td><td>Beginner-friendly codebase walkthrough</td></tr>
</table>
Expand Down
4 changes: 2 additions & 2 deletions docs/diagrams/free-tier-budget.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 8 additions & 8 deletions docs/getting-started/FREE-TIERS-GUIDE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Free Tiers Guide: Understand and Combine Free AI Access

> **TL;DR**: OmniRoute registers 352 provider IDs, with **152 provider-catalog entries marked `hasFree`**. The stricter audited free-model catalog covers **34 recurring pool keys / 442 entries** (435 active + 7 discontinued). Connect several suitable providers for broader fallback capacity; every quota, approval rule, privacy policy, and paid-overage condition still applies.
> **TL;DR**: OmniRoute registers 352 provider IDs, with **152 provider-catalog entries marked `hasFree`**. The stricter audited free-model catalog covers **34 recurring pool keys / 444 entries** (437 active + 7 discontinued). Connect several suitable providers for broader fallback capacity; every quota, approval rule, privacy policy, and paid-overage condition still applies.

---

Expand Down Expand Up @@ -159,13 +159,13 @@ provider's quota or access policy.

The live, pool-deduplicated catalog currently reports:

| Metric | Current audited value | Interpretation |
| ---------------------------------------------------- | -----------------------------------------------: | ----------------------------------------------------------------------------------------- |
| Recurring quantified grant | **~1.47B tokens/month** | Shared pools counted once; excludes uncapped providers from the sum |
| First month with signup grants | **~2.10B tokens** | Recurring total plus one-time and recurring credits |
| Audited free-model inventory | **34 recurring pool keys / 442 catalog entries** | 435 active + 7 discontinued; distinct from the 352-provider catalog |
| Recurring/keyless free-forever providers represented | **52** | Unique providers across recurring daily/monthly/credit/uncapped and keyless catalog types |
| Provider catalog entries marked `hasFree` | **152 / 352** | Broader provider metadata; not all have a quantifiable recurring quota |
| Metric | Current audited value | Interpretation |
| ---------------------------------------------------- | -----------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------- |
| Recurring quantified grant | **~1.47B tokens/month** | Shared pools counted once; excludes uncapped providers from the sum |
| First month with signup grants | **~2.10B tokens** | Recurring total plus one-time and recurring credits |
| Audited free-model inventory | **34 recurring pool keys / 444 catalog entries** | 437 active + 7 discontinued; distinct from the 352-provider catalog |
| Recurring/keyless free-forever providers represented | **52** | Unique providers across recurring daily/monthly/credit/uncapped and keyless catalog types, eligibility-gated rows excluded |
| Provider catalog entries marked `hasFree` | **152 / 352** | Broader provider metadata; not all have a quantifiable recurring quota |

These values are computed from `open-sse/config/freeModelCatalog.ts`; see the
[Free Tiers Reference](../reference/FREE_TIERS.md) for pool deduplication, ToS flags,
Expand Down
16 changes: 15 additions & 1 deletion docs/reference/FREE_TIERS.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "Free Tiers & Free-Token Budget"
version: 3.8.50
lastUpdated: 2026-09-02
lastUpdated: 2026-09-03
---

# Free Tiers & Free-Token Budget
Expand All @@ -19,6 +19,7 @@ lastUpdated: 2026-09-02
| **+ first month with signup credits** | **~2.10B** | Steady + one-time signup credits (Together $25, Z.AI 20M, DeepSeek 5M, …), deduped per account. **First month only** — does not recur. |
| **+ permanently free, no published cap** | _un-quantifiable_ | `siliconflow`, `glm-cn` (GLM-4-Flash), `tencent`, `baidu`, `kilo-gateway`, `opencode-zen`, `gemini`, `ollama-cloud` — real recurring access, rate/concurrency-limited, **no token cap to count**. Listed, never summed (counting them at `RPM×24/7` is the inflation we reject). |
| **+ deposit-unlock boost** | **+~24M** | A one-time **$10** OpenRouter top-up raises its free pool from 50 → 1000 req/day. Reported separately so it never inflates the steady number. |
| **+ behind a regional identity check** | **+~6M** | `modelscope` (Alibaba Cloud binding + mainland-China real-name verification). Real recurring quota, exposed as `gatedRecurringTokens` / `gatedProviders` and on the dashboard. Never summed into the headline: +~6M behind regional identity verification. |
| Theoretical ceiling (all rate limits, 24/7) | ~10B | Sum of every provider rate limit extrapolated to non-stop use. **Not a guarantee** — do not headline this. |

**Honest headline:** _OmniRoute aggregates **~1.47B documented free tokens per month** (up to ~2.10B in your first month with signup credits) across 34 free-tier pools — plus a long tail of permanently-free, no-cap providers — and RTK + Caveman compression (15–95% token savings) stretches that further._
Expand Down Expand Up @@ -78,10 +79,23 @@ purpose.
- Daily token cap → `monthly = daily × 30`. Only RPD documented → `RPD × ~800 output tokens × 30`. Only RPM/TPM (no daily cap) → **uncapped** (see below).
- **Permanently free, but no published token cap** (`siliconflow`, `glm-cn`, `tencent`, `baidu`, `kilo-gateway`, `opencode-zen`, `gemini`, `ollama-cloud`): these are real recurring free access, rate/concurrency-limited. We classify them `recurring-uncapped` and **never sum them** — multiplying `RPM × 24/7 × 30d` would produce a fantasy ceiling (the inflation we reject). They are listed so you know they exist.
- **Deposit-unlock boost:** a one-time small top-up that permanently raises a free quota (OpenRouter: $10 → 1000 req/day ≈ +24M/mo). Reported as a separate figure, kept out of the steady headline.
- **Eligibility-gated quotas** (`eligibilityGate: "regional-identity"`): a real recurring quota that only opens after a region-bound identity check (mainland-China real-name verification today). Counted with the same pool-dedupe rule into a separate figure (`gatedRecurringTokens`), never into the steady headline. The regime (`freeType`) is unchanged, so routing is unchanged.
- **Evidence classes.** The rule: a number in the catalog cites its source in an `// evidence:` comment next to the entry — `public-page` (a provider page anyone can read), `api-public` (an unauthenticated endpoint of the provider, e.g. NaraRouter's public plans endpoint at router.bynara.id), or `console-verified <date> por <who>` (the figure is only visible inside an account console; the comment records who saw it and when, and the public page that says the cap exists). The state today: the five blocks re-audited on 2026-09-02 carry it (`gemini`, `groq`, `mistral`, `ollama-cloud`, `nara`); entries that predate the 2026-09-02 re-audit inherit the earlier research until they are touched; any **new or changed** number without an evidence comment is a bug. Today only `mistral` is console-verified.

---

## Why our number is smaller than other aggregators'

Most "free tokens per month" figures in this space are sums of per-model labels. Ours is not, on purpose:

- **Each shared pool is counted once.** Mistral's free plan is one 1B/month allowance per organization; listing it under five models does not make it 5B. Summed per model, our own catalog would read **~7.4B** (recomputed on 2026-09-03; this figure is not CI-gated — re-measure it whenever the catalog changes) — the headline says **~1.47B** because that is what one account of each provider can actually spend.
- **Daily caps are converted, rates are not.** A documented tokens/day cap becomes `× 30`; a documented requests/day cap becomes `RPD × ~800 tokens × 30`; a provider that only publishes requests-per-minute has **no** monthly figure and is listed as _uncapped_, never summed. Multiplying a rate limit by 24/7 is the inflation we refuse.
- **Quotas behind a regional identity check are shown apart** (`+~6M behind regional identity verification`), because most readers cannot use them.
- **Signup credits are first-month only** and reported as a second figure, never blended into the steady number.
- **The figure is enforced by CI.** `npm run check:docs-counts` recomputes the totals from the catalog and fails the build when this file, the README or the budget card drift from them.

---

## ToS attention table

> **ToS flag is advisory, not a routing gate.** Providers marked `tos` are still included in routing and combo/fallback by default; the flag only surfaces on `/dashboard/free-tiers` and `/api/free-tier/summary`. The `excludeTosAvoid` query parameter affects the summary view only, not global routing. The verdict lives in `open-sse/config/freeTierCatalog.ts` (informational, not read by routing engines).
Expand Down
Loading
Loading