Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -491,7 +491,6 @@ No Surf account, no API key — settles directly to Surf's Base treasury in USDC
| Model | Input $/M | Output $/M | ~$/request | Context | Features |
| ------------------------------------------- | --------: | ---------: | ---------: | ------- | -------------------------------------------- |
| free/nemotron-3.5-lightning | **FREE** | **FREE** | **$0** | 1M | reasoning (thinking mode) — the free default |
| free/nemotron-3-nano-30b | **FREE** | **FREE** | **$0** | 131K | fastest free model (~121 tok/s) |
| free/laguna-xs-2.1 | **FREE** | **FREE** | **$0** | 131K | coding (Poolside, ~161 tok/s) |
| free/north-mini-code | **FREE** | **FREE** | **$0** | 256K | coding (Cohere, sub-second) |
| free/nemotron-3-nano-omni-30b-a3b-reasoning | **FREE** | **FREE** | **$0** | 256K | reasoning (text only — see note) |
Expand Down Expand Up @@ -575,7 +574,7 @@ No Surf account, no API key — settles directly to Surf's Base treasury in USDC
| openai/gpt-5.4-pro | $30.00 | $180.00 | $0.1050 | 400K | reasoning, tools |
| openai/gpt-5.5-pro | $30.00 | $180.00 | $0.1050 | 1M | reasoning, vision, tools |

> **Free tier:** <!-- br:models.free -->6<!-- /br:models.free --> open-weight models cost nothing — `/model free` pins the free default (`nemotron-3.5-lightning`, with the other six as fallbacks), `/model eco` opens on it, or pick one directly (e.g., `/model lightning` for 1M-context reasoning, `/model north-mini` or `/model laguna` for fast coding, `/model nano-30b` for the fastest).
> **Free tier:** <!-- br:models.free -->6<!-- /br:models.free --> open-weight models cost nothing — `/model free` pins the free default (`nemotron-3.5-lightning`, with the other five as fallbacks), `/model eco` opens on it, or pick one directly (e.g., `/model lightning` for 1M-context reasoning, `/model north-mini` or `/model laguna` for fast coding).
>
> **No free vision.** Two free models are catalogued as vision-capable and neither reliably is: on a 64×64 solid-colour probe `nemotron-3-nano-omni` was right 1 of 4 times on Base and answered "white" for red on Solana, and `llama-3.2-11b-vision` replied "I'm unable to see the image" 3 of 3 while answering text fine. Both return HTTP 200, so a wrong answer arrives with no error to branch on. ClawRouter therefore does not flag them for vision, and requests carrying an `image_url` route to a paid vision model instead.
> **Best value:** `gpt-5-nano` and `gemini-2.5-flash-lite` deliver strong results at ~$0.0003/request.
Expand Down Expand Up @@ -972,7 +971,7 @@ wallet, no key, no signup. See [Paying with a credit card](#paying-with-a-credit

### Is ClawRouter free?

ClawRouter itself is free and MIT licensed. You pay only for the LLM API calls routed through it — and several open-weight models (`nemotron-3.5-lightning`, `nemotron-3-nano-30b`, `laguna-xs-2.1`, `north-mini-code`, `nemotron-3-nano-omni-30b-a3b-reasoning`, `nemotron-3-ultra-550b`, `llama-3.2-11b-vision`) are completely free (text only). Use `/model free` to smart-route across them, or pick any by name.
ClawRouter itself is free and MIT licensed. You pay only for the LLM API calls routed through it — and several open-weight models (`nemotron-3.5-lightning`, `laguna-xs-2.1`, `north-mini-code`, `nemotron-3-nano-omni-30b-a3b-reasoning`, `nemotron-3-ultra-550b`, `llama-3.2-11b-vision`) are completely free (text only). Use `/model free` to smart-route across them, or pick any by name.

---

Expand Down
18 changes: 5 additions & 13 deletions docs/9-free-ai-models-zero-cost-blockrun.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,11 @@ BlockRun's answer: just take them.

## The Lineup: <!-- br:models.free -->6<!-- /br:models.free --> Models, $0.00

Through [ClawRouter](https://github.com/BlockRunAI/ClawRouter) — BlockRun's local AI routing proxy — you get zero-cost access to the following (verified live 2026-08-30):
Through [ClawRouter](https://github.com/BlockRunAI/ClawRouter) — BlockRun's local AI routing proxy — you get zero-cost access to the following (checked against the live catalog 2026-09-29):

| Model | Context | Reasoning | Best For |
| ---------------------------- | ------- | --------- | ------------------------------------------ |
| **Nemotron 3.5 Lightning** | 1M | ✅ | The free default — thinking-mode reasoning |
| **Nemotron 3 Nano 30B** | 131K | ✅ | Fastest free model (~121 tok/s) |
| **Nemotron 3 Ultra 550B** | 1M | ✅ | Largest free model — 550B / 55B active MoE |
| **Nemotron 3 Nano Omni 30B** | 256K | ✅ | Strong generalist (text only in practice) |
| **Llama 3.2 11B Vision** | 128K | — | Meta Llama (text only in practice) |
Expand Down Expand Up @@ -99,12 +98,6 @@ A 30B-A3B mixture-of-experts model with a **1M-token context** and thinking-mode

**Best for:** Long-context reasoning, multi-step planning, anything where the input is big. If you remember one free model name, remember this one.

### Nemotron 3 Nano 30B — The Fast One

The **fastest free model in the catalog** — around 121 tokens/second on realistic workloads, not just short pings. Returns reasoning content. When you are iterating rapidly and each round-trip is a tax on your attention, this is the one to pin.

**Best for:** Rapid iteration, prompt engineering, high-volume light tasks.

### Nemotron 3 Ultra 550B — The Big One

550 billion total parameters, 55B active, 1M context — the **largest free model ever listed**. It is genuinely strong, and it is genuinely slower than the rest of the tier; treat it as the one you reach for when the task is hard rather than the one you leave pinned.
Expand Down Expand Up @@ -176,7 +169,6 @@ If you're using Claude Code, one command switches you to any free model:

```
/model free → Nemotron 3.5 Lightning (1M ctx, the default)
/model nano-30b → Nemotron 3 Nano 30B (fastest)
/model ultra-550b → Nemotron 3 Ultra 550B (largest)
/model vision-free → Nemotron 3 Nano Omni (text only, see below)
/model llama-vision → Llama 3.2 11B Vision (text only, see below)
Expand All @@ -198,17 +190,17 @@ The gateway will return structured tool calls from these models, but ClawRouter

### 2. Reasoning Has a Ceiling

Five of the seven are reasoning-capable and handle most tasks well. On the hardest problems — competition-level math, formal proofs, deep multi-step planning — they don't match Claude Opus 5 or Sonnet 5. That's why ClawRouter's REASONING tier doesn't use free models.
Four of the six are reasoning-capable and handle most tasks well. On the hardest problems — competition-level math, formal proofs, deep multi-step planning — they don't match Claude Opus 5 or Sonnet 5. That's why ClawRouter's REASONING tier doesn't use free models.

### 3. There Is No Working Free Vision

Two of the seven are catalogued as vision-capable, and neither survives a real probe. On a 64×64 solid-red PNG, `nemotron-3-nano-omni` answered correctly 1 time in 4 on Base and returned "white" on Solana — where the response's own `model` field revealed a silent fallback to a text model. `llama-3.2-11b-vision` replied "I'm unable to see the image" on 3 of 3 attempts while answering plain text fine. Every one of those failures is an **HTTP 200**: the image is dropped and a confident wrong answer comes back with no error to branch on.
Two of the six are catalogued as vision-capable, and neither survives a real probe. On a 64×64 solid-red PNG, `nemotron-3-nano-omni` answered correctly 1 time in 4 on Base and returned "white" on Solana — where the response's own `model` field revealed a silent fallback to a text model. `llama-3.2-11b-vision` replied "I'm unable to see the image" on 3 of 3 attempts while answering plain text fine. Every one of those failures is an **HTTP 200**: the image is dropped and a confident wrong answer comes back with no error to branch on.

ClawRouter therefore ships no `vision` flag on any free model, so requests carrying an image route to a paid vision model instead. The general lesson is worth more than the specific finding: **a catalog's capability list is a claim, not a measurement** — and one passing sample is not a measurement either. The first probe here returned the right colour; it took four to see that was luck.

### 4. Free Hosting Is Volatile

This is the real limitation, and it is worth more than the other two. On 2026-08-30 NVIDIA retired four of the five visible free models in one sweep, and none of the nine models this article originally listed is still in the tier. Free capacity comes from whatever a provider is willing to give away this quarter. Pin a free model if you like — but build so that losing it costs you a config line, not a rewrite. That is the entire argument for putting a router in front of them.
This is the real limitation, and it is worth more than the other two. On 2026-08-30 NVIDIA retired four of the five visible free models in one sweep, and none of the nine models this article originally listed is still in the tier. Nine days after the replacements were listed, NVIDIA deprovisioned one of them — `nemotron-3-nano-30b`, the fastest in the tier — and it was delisted on 2026-09-08. Free capacity comes from whatever a provider is willing to give away this quarter. Pin a free model if you like — but build so that losing it costs you a config line, not a rewrite. That is the entire argument for putting a router in front of them.

---

Expand All @@ -219,7 +211,7 @@ This is the real limitation, and it is worth more than the other two. On 2026-08
Don't use one model for everything. Route by task type:

```
Quick chat, formatting → Nemotron 3 Nano 30B (fastest)
Quick chat, formatting → Nemotron 3 Nano Omni 30B
Code generation → North Mini Code or Laguna XS 2.1
Reasoning required → Nemotron 3.5 Lightning (1M ctx)
Hardest free reasoning → Nemotron 3 Ultra 550B
Expand Down
18 changes: 9 additions & 9 deletions docs/routing-profiles.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ Use `blockrun/auto` (or `/model auto`) for the best quality/price balance.

Use `blockrun/eco` for maximum cost savings. The first stop is the free tier, so simple requests can cost $0.00.

| Tier | Primary Model | Input | Output | Fallback chain (in order) |
| --------- | --------------------------- | ----- | ------ | ------------------------------------------------------------------------------------------------------------------------ |
| SIMPLE | free/nemotron-3.5-lightning | $0.00 | $0.00 | nemotron-3-nano-30b (free) → gemini-2.5-flash-lite → glm-5.3-flash → gpt-5.6-luna → gpt-5.4-nano → gemini-3.1-flash-lite |
| MEDIUM | zai/glm-5.3-flash | $0.15 | $0.50 | deepseek-chat → gemini-3.1-flash-lite → gpt-5.6-luna → gpt-5.4-nano → gemini-2.5-flash-lite → gemini-2.5-flash |
| COMPLEX | zai/glm-5.3-flash | $0.15 | $0.50 | deepseek-chat → minimax-m3 → deepseek-v4-pro → gemini-3.1-flash-lite → gemini-2.5-flash |
| REASONING | deepseek/deepseek-reasoner | $0.14 | $0.28 | deepseek-v4-pro → qwen3.7-plus → minimax-m3 → glm-5.3-flash |
| Tier | Primary Model | Input | Output | Fallback chain (in order) |
| --------- | --------------------------- | ----- | ------ | ------------------------------------------------------------------------------------------------------------------------- |
| SIMPLE | free/nemotron-3.5-lightning | $0.00 | $0.00 | nemotron-3-nano-omni (free) → gemini-2.5-flash-lite → glm-5.3-flash → gpt-5.6-luna → gpt-5.4-nano → gemini-3.1-flash-lite |
| MEDIUM | zai/glm-5.3-flash | $0.15 | $0.50 | deepseek-chat → gemini-3.1-flash-lite → gpt-5.6-luna → gpt-5.4-nano → gemini-2.5-flash-lite → gemini-2.5-flash |
| COMPLEX | zai/glm-5.3-flash | $0.15 | $0.50 | deepseek-chat → minimax-m3 → deepseek-v4-pro → gemini-3.1-flash-lite → gemini-2.5-flash |
| REASONING | deepseek/deepseek-reasoner | $0.14 | $0.28 | deepseek-v4-pro → qwen3.7-plus → minimax-m3 → glm-5.3-flash |

The two free rungs at the head of ECO SIMPLE follow NVIDIA's free hosting, which retires models without notice (deepseek-v4-flash 410'd 2026-08-12, seed-oss-36b 2026-08-03, gpt-oss-120b hung 2026-08-16, and on 2026-08-30 NVIDIA retired FOUR of the five visible free models at once). Each retirement retargets the free rungs to the current free tier; the paid rungs never move. `src/router/free-model-liveness.test.ts` fails the build if a chain names a free model the picker no longer lists.

Expand Down Expand Up @@ -75,11 +75,11 @@ Set `routing.overrides.agenticMode: false` to disable the agentic tier set, or `

## FREE (`/model free`)

`free` is an alias, not a routed profile: it pins the free-tier default, currently **`free/nemotron-3.5-lightning`** — the same model that opens ECO SIMPLE. If that model is excluded (`/exclude add lightning`) or the budget cap forces a free fallback, the proxy walks the free cascade in this order: nemotron-3.5-lightning → nemotron-3-nano-30b → laguna-xs-2.1 → north-mini-code → nemotron-3-nano-omni-30b-a3b-reasoning → nemotron-3-ultra-550b → llama-3.2-11b-vision. All seven are $0.00 and need no USDC, and all seven are treated as **text-only** — see the vision note below.
`free` is an alias, not a routed profile: it pins the free-tier default, currently **`free/nemotron-3.5-lightning`** — the same model that opens ECO SIMPLE. If that model is excluded (`/exclude add lightning`) or the budget cap forces a free fallback, the proxy walks the free cascade in this order: nemotron-3.5-lightning → laguna-xs-2.1 → north-mini-code → nemotron-3-nano-omni-30b-a3b-reasoning → nemotron-3-ultra-550b → llama-3.2-11b-vision. All six are $0.00 and need no USDC, and all six are treated as **text-only** — see the vision note below.

The order is not arbitrary. The head is whatever the gateway itself redirects the previous head to, so the proxy and the gateway never name different models. After it comes the fastest rung, then the two sub-second coders — adjacent on purpose, because they sit on _different_ capacity pools (our own NVIDIA key vs OpenRouter's $0 pool), so one pool's outage cannot take both. The vision model sits mid-chain, and the two slowest rungs go last. The tier stopped being NVIDIA-only on 2026-08-30: two of the seven come from Cohere and Poolside.
The order is not arbitrary. The head is whatever the gateway itself redirects the previous head to, so the proxy and the gateway never name different models. After it come the two sub-second coders — adjacent on purpose, because they sit on _different_ capacity pools (our own NVIDIA key vs OpenRouter's $0 pool), so one pool's outage cannot take both. The vision model sits mid-chain, and the two slowest rungs go last. The tier stopped being NVIDIA-only on 2026-08-30: two of the six come from Cohere and Poolside. The fastest rung, `nemotron-3-nano-30b`, left on 2026-09-08 when NVIDIA deprovisioned it for blockrun's account; its aliases (`nano-30b`, `nemotron-nano`) now follow the gateway's redirect to `nemotron-3-nano-omni`.

Pin any of them directly with `/model lightning`, `/model nano-30b`, `/model laguna`, `/model north-mini`, `/model nemotron-omni`, `/model ultra-550b` or `/model llama-vision`.
Pin any of them directly with `/model lightning`, `/model laguna`, `/model north-mini`, `/model nemotron-omni`, `/model ultra-550b` or `/model llama-vision`.

**No free model carries the `vision` flag,** even the two the upstream catalogs advertise as vision-capable. A 64×64 solid-colour probe on 2026-08-31 got the right answer 1 time in 4 from `nemotron-3-nano-omni` on Base, and "white" for red on Solana — where the response's own `model` field showed a silent fallback to a text model. `llama-3.2-11b-vision`, despite the name, said "I'm unable to see the image" on 3 of 3 while a plain-text control passed. Every one of those is an HTTP 200, so the caller gets a confident wrong answer with nothing to branch on. Since `vision` is what `filterByVision()` uses to _aim_ image turns at a model, flagging them would route real traffic into that. Requests carrying an `image_url` go to a paid vision model.

Expand Down
2 changes: 1 addition & 1 deletion openclaw.plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"id": "blockrun-clawrouter",
"name": "BlockRun ClawRouter",
"description": "Smart LLM router \u2014 82 models, x402 micropayments, 92% cost savings. Phone lookup + AI voice calls (Twilio + Bland.ai). Surf crypto-data API (84 endpoints, on-chain SQL, 100M+ labeled wallets) via skill.",
"description": "Smart LLM router \u2014 82 models, x402 micropayments, 84% cost savings. Phone lookup + AI voice calls (Twilio + Bland.ai). Surf crypto-data API (84 endpoints, on-chain SQL, 100M+ labeled wallets) via skill.",
"skills": ["./skills"],
"activation": {
"onStartup": true
Expand Down
6 changes: 3 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@
}
},
"devDependencies": {
"@blockrun/router-core": "https://codeload.github.com/BlockRunAI/router-core/tar.gz/5ee7c23c993013a8052588191569db5cf7fb793c",
"@blockrun/router-core": "https://codeload.github.com/BlockRunAI/router-core/tar.gz/e38958bba9af0aaa788c5baafbdaff539638b7c9",
"@eslint/js": "^10.0.1",
"eslint": "^10.2.0",
"openclaw": "^2026.7.2-beta.7",
Expand Down
1 change: 0 additions & 1 deletion scripts/reinstall.sh
Original file line number Diff line number Diff line change
Expand Up @@ -988,7 +988,6 @@ echo " /model free → nemotron-3.5-lightning (default free)"
echo ""
echo "Free models (no wallet needed):"
echo " /model lightning → nemotron-3.5-lightning (1M ctx, reasoning)"
echo " /model nano-30b → nemotron-3-nano-30b (fastest, ~121 tok/s)"
echo " /model north-mini → north-mini-code (Cohere, coding, sub-second)"
echo " /model laguna → laguna-xs-2.1 (Poolside, coding, ~161 tok/s)"
echo " /model vision-free → nemotron-3-nano-omni (text/image/video/audio)"
Expand Down
4 changes: 2 additions & 2 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* @blockrun/clawrouter
*
* Smart LLM router for OpenClaw — 82 models, x402 micropayments, 78% cost savings.
* Smart LLM router for OpenClaw — 82 models, x402 micropayments, 84% cost savings.
* Routes each request to the cheapest model that can handle it.
*
* Usage:
Expand Down Expand Up @@ -1977,7 +1977,7 @@ const plugin: OpenClawPluginDefinition = {
// product, different id. See #305.
id: BLOCKRUN_PLUGIN_ID,
name: "BlockRun ClawRouter",
description: "Smart LLM router — 82 models, x402 micropayments, 78% cost savings",
description: "Smart LLM router — 82 models, x402 micropayments, 84% cost savings",
version: VERSION,

register(api: OpenClawPluginApi) {
Expand Down
Loading
Loading