@blockrun/clawrouter 0.12.240 → 0.12.241
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -17
- package/dist/cli.js +29 -22
- package/dist/index.js +29 -22
- package/docs/anthropic-cost-savings.md +1 -1
- package/docs/anthropic-third-party-harness-changes.md +2 -2
- package/docs/clawrouter-cuts-llm-api-costs-500x.md +1 -1
- package/docs/clawrouter-vs-openrouter-llm-routing-comparison.md +3 -3
- package/package.json +2 -2
- package/skills/clawrouter/SKILL.md +3 -3
- package/src/top-models.json +0 -1
package/README.md
CHANGED
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
<p>Agents can't sign up for accounts. Agents can't enter credit cards.<br>
|
|
8
8
|
Agents can only sign transactions.<br><br>
|
|
9
9
|
<strong>ClawRouter is the only LLM router that lets agents operate independently.</strong><br><br>
|
|
10
|
-
<em><!-- br:models.free -->
|
|
10
|
+
<em><!-- br:models.free -->6<!-- /br:models.free --> models free, no crypto required. No signup. No API key. No credit card.</em></p>
|
|
11
11
|
|
|
12
12
|
<br>
|
|
13
13
|
|
|
14
|
-
<img src="https://img.shields.io/badge/🆓
|
|
14
|
+
<img src="https://img.shields.io/badge/🆓_6_Free_Models-success?style=for-the-badge" alt="6 free models">
|
|
15
15
|
<img src="https://img.shields.io/badge/🤖_Agent--Native-black?style=for-the-badge" alt="Agent native">
|
|
16
16
|
<img src="https://img.shields.io/badge/🔑_Zero_API_Keys-blue?style=for-the-badge" alt="No API keys">
|
|
17
17
|
<img src="https://img.shields.io/badge/⚡_Local_Routing-yellow?style=for-the-badge" alt="Local routing">
|
|
@@ -34,7 +34,7 @@ Agents can only sign transactions.<br><br>
|
|
|
34
34
|
|
|
35
35
|
</div>
|
|
36
36
|
|
|
37
|
-
> **ClawRouter** is an open-source smart LLM router that reduces AI API costs by up to <!-- br:savings.autoVsBaselinePct -->87<!-- /br:savings.autoVsBaselinePct -->%. It analyzes each request across <!-- br:clawrouter.dimensions -->15<!-- /br:clawrouter.dimensions --> dimensions and routes to the cheapest capable model in under 1ms, entirely locally. ClawRouter is the only LLM router built for autonomous AI agents — it uses wallet signatures for authentication (no API keys) and USDC micropayments via the x402 protocol (no credit cards). <!-- br:models.chatVisible -->
|
|
37
|
+
> **ClawRouter** is an open-source smart LLM router that reduces AI API costs by up to <!-- br:savings.autoVsBaselinePct -->87<!-- /br:savings.autoVsBaselinePct -->%. It analyzes each request across <!-- br:clawrouter.dimensions -->15<!-- /br:clawrouter.dimensions --> dimensions and routes to the cheapest capable model in under 1ms, entirely locally. ClawRouter is the only LLM router built for autonomous AI agents — it uses wallet signatures for authentication (no API keys) and USDC micropayments via the x402 protocol (no credit cards). <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models from OpenAI, Anthropic, Google, xAI, DeepSeek, and more. MIT licensed.
|
|
38
38
|
|
|
39
39
|
---
|
|
40
40
|
|
|
@@ -46,7 +46,7 @@ Every other LLM router was built for **human developers** — create an account,
|
|
|
46
46
|
|
|
47
47
|
ClawRouter is built for the agent-first world:
|
|
48
48
|
|
|
49
|
-
- **Starts at $0** — <!-- br:models.free -->
|
|
49
|
+
- **Starts at $0** — <!-- br:models.free -->6<!-- /br:models.free --> NVIDIA models are free forever (incl. 1M-context DeepSeek V4 Flash + a vision-capable Nemotron Omni)
|
|
50
50
|
- **No accounts** — a wallet is generated locally, no signup
|
|
51
51
|
- **No API keys** — your wallet signature IS authentication
|
|
52
52
|
- **No model selection** — <!-- br:clawrouter.dimensions -->15<!-- /br:clawrouter.dimensions -->-dimension scoring picks the right model automatically
|
|
@@ -61,8 +61,8 @@ This is the stack that lets agents operate autonomously: **x402 + USDC + local r
|
|
|
61
61
|
|
|
62
62
|
| | OpenRouter | LiteLLM | Martian | Portkey | **ClawRouter** |
|
|
63
63
|
| ---------------- | ----------------- | ---------------- | ----------------- | ----------------- | ---------------------------------------------------------------------- |
|
|
64
|
-
| **Models** | 200+ | 100+ | Smart routing | Gateway | **<!-- br:models.chatVisible -->
|
|
65
|
-
| **Free tier** | Rate-limited | BYO keys | No | No | **<!-- br:models.free -->
|
|
64
|
+
| **Models** | 200+ | 100+ | Smart routing | Gateway | **<!-- br:models.chatVisible -->71<!-- /br:models.chatVisible -->** |
|
|
65
|
+
| **Free tier** | Rate-limited | BYO keys | No | No | **<!-- br:models.free -->6<!-- /br:models.free --> models, no signup** |
|
|
66
66
|
| **Routing** | Manual selection | Manual selection | Smart (closed) | Observability | **Smart (open source)** |
|
|
67
67
|
| **Auth** | Account + API key | Your API keys | Account + API key | Account + API key | **Wallet signature** |
|
|
68
68
|
| **Payment** | Credit card | BYO keys | Credit card | $49-499/mo | **USDC per-request** |
|
|
@@ -78,7 +78,7 @@ This is the stack that lets agents operate autonomously: **x402 + USDC + local r
|
|
|
78
78
|
|
|
79
79
|
## Quick Start
|
|
80
80
|
|
|
81
|
-
> **No wallet? <!-- br:models.free -->
|
|
81
|
+
> **No wallet? <!-- br:models.free -->6<!-- /br:models.free --> models work free out of the box.** Install, run, and pin `free/mistral-nemotron` (or any of the <!-- br:models.free -->6<!-- /br:models.free -->) — no crypto, no signup, no balance required. Add USDC later when you want paid models.
|
|
82
82
|
|
|
83
83
|
### Option A — OpenClaw Agent
|
|
84
84
|
|
|
@@ -107,7 +107,7 @@ openclaw gateway restart
|
|
|
107
107
|
|
|
108
108
|
> **Using Claude Code?** Check out [BRCC](https://blockrun.ai/brcc.md) — it's purpose-built for Claude Code with the same smart routing and x402 payments.
|
|
109
109
|
>
|
|
110
|
-
> **Using NousResearch Hermes?** See [ClawRouter-Hermes](https://github.com/BlockRunAI/ClawRouter-Hermes) — a Python plugin that wires Hermes into the ClawRouter proxy. Same wallet, same <!-- br:models.chatVisible -->
|
|
110
|
+
> **Using NousResearch Hermes?** See [ClawRouter-Hermes](https://github.com/BlockRunAI/ClawRouter-Hermes) — a Python plugin that wires Hermes into the ClawRouter proxy. Same wallet, same <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models, same x402 USDC settlement on Base & Solana.
|
|
111
111
|
|
|
112
112
|
No OpenClaw required. ClawRouter runs as a local proxy on port 8402.
|
|
113
113
|
|
|
@@ -118,7 +118,7 @@ npx @blockrun/clawrouter
|
|
|
118
118
|
```
|
|
119
119
|
|
|
120
120
|
**2. Fund your wallet** — optional, skip for free tier
|
|
121
|
-
Your wallet address is printed on first run. For paid models, send a few USDC on Base or Solana — $5 covers thousands of requests. To stay at $0, pin any of the <!-- br:models.free -->
|
|
121
|
+
Your wallet address is printed on first run. For paid models, send a few USDC on Base or Solana — $5 covers thousands of requests. To stay at $0, pin any of the <!-- br:models.free -->6<!-- /br:models.free --> free models (e.g. `free/mistral-nemotron`) or use `/model free` inside OpenClaw.
|
|
122
122
|
|
|
123
123
|
**3. Point your client at `http://localhost:8402`**
|
|
124
124
|
|
|
@@ -391,7 +391,7 @@ No Surf account, no API key — settles directly to Surf's Base treasury in USDC
|
|
|
391
391
|
|
|
392
392
|
## Models & Pricing
|
|
393
393
|
|
|
394
|
-
<!-- br:models.chatVisible -->
|
|
394
|
+
<!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models across 9 providers, one wallet. **<!-- br:models.free -->6<!-- /br:models.free --> models are $0 — paid models start at fractions of a cent.**
|
|
395
395
|
|
|
396
396
|
> **💡 "Cost per request"** = estimated cost for a typical chat message (~500 input + 500 output tokens). Paid requests also carry a flat **$0.001/tx settlement fee** (covers on-chain gas; already included in the price the gateway quotes). Free models never pay it.
|
|
397
397
|
|
|
@@ -400,7 +400,6 @@ No Surf account, no API key — settles directly to Surf's Base treasury in USDC
|
|
|
400
400
|
| Model | Input $/M | Output $/M | ~$/request | Context | Features |
|
|
401
401
|
| ------------------------------------------- | --------: | ---------: | ---------: | ------- | -------------------------------------------- |
|
|
402
402
|
| free/deepseek-v4-flash | **FREE** | **FREE** | **$0** | 1M | reasoning + coding, huge context |
|
|
403
|
-
| free/seed-oss-36b | **FREE** | **FREE** | **$0** | 131K | coding |
|
|
404
403
|
| free/nemotron-3-nano-omni-30b-a3b-reasoning | **FREE** | **FREE** | **$0** | 256K | reasoning, **vision** (text+img+video+audio) |
|
|
405
404
|
| free/mistral-nemotron | **FREE** | **FREE** | **$0** | 131K | instruction following |
|
|
406
405
|
| free/step-3.7-flash | **FREE** | **FREE** | **$0** | 131K | reasoning |
|
|
@@ -474,7 +473,7 @@ No Surf account, no API key — settles directly to Surf's Base treasury in USDC
|
|
|
474
473
|
| openai/gpt-5.4-pro | $30.00 | $180.00 | $0.1050 | 400K | reasoning, tools |
|
|
475
474
|
| openai/gpt-5.5-pro | $30.00 | $180.00 | $0.1050 | 1M | reasoning, vision, tools |
|
|
476
475
|
|
|
477
|
-
> **Free tier:** several NVIDIA-hosted models cost nothing — `/model free` smart-routes across them, or pick one directly (e.g., `/model nemotron-omni` for vision, `/model v4-flash` for 1M-context reasoning, `/model
|
|
476
|
+
> **Free tier:** several NVIDIA-hosted models cost nothing — `/model free` smart-routes across them, or pick one directly (e.g., `/model nemotron-omni` for vision, `/model v4-flash` for 1M-context reasoning, `/model mistral-large` for the 675B flagship).
|
|
478
477
|
> **Best value:** `gpt-5-nano` and `gemini-2.5-flash-lite` deliver strong results at ~$0.0003/request.
|
|
479
478
|
|
|
480
479
|
---
|
|
@@ -645,7 +644,7 @@ npm test
|
|
|
645
644
|
|
|
646
645
|
**The LLM router built for autonomous agents**
|
|
647
646
|
|
|
648
|
-
You're here. <!-- br:models.chatVisible -->
|
|
647
|
+
You're here. <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models, local smart routing, x402 USDC payments — the only stack that lets agents operate independently.
|
|
649
648
|
|
|
650
649
|
`curl -fsSL https://blockrun.ai/ClawRouter-update | bash`
|
|
651
650
|
|
|
@@ -656,7 +655,7 @@ You're here. <!-- br:models.chatVisible -->65<!-- /br:models.chatVisible --> mod
|
|
|
656
655
|
|
|
657
656
|
**BlockRun for Claude Code**
|
|
658
657
|
|
|
659
|
-
Run Claude Code with <!-- br:models.chatVisible -->
|
|
658
|
+
Run Claude Code with <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models, no rate limits, no Anthropic account, no phone verification. Pay per request with USDC — your wallet is your identity.
|
|
660
659
|
|
|
661
660
|
`curl -fsSL https://blockrun.ai/brcc-install | bash`
|
|
662
661
|
|
|
@@ -669,7 +668,7 @@ Run Claude Code with <!-- br:models.chatVisible -->65<!-- /br:models.chatVisible
|
|
|
669
668
|
|
|
670
669
|
**ClawRouter for NousResearch Hermes**
|
|
671
670
|
|
|
672
|
-
Python plugin that wraps the ClawRouter proxy for `hermes-agent`. Same <!-- br:models.chatVisible -->
|
|
671
|
+
Python plugin that wraps the ClawRouter proxy for `hermes-agent`. Same <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models, same x402 USDC payments on Base & Solana, native Hermes ergonomics.
|
|
673
672
|
|
|
674
673
|
`pip install hermes-plugin-clawrouter`
|
|
675
674
|
|
|
@@ -690,7 +689,7 @@ Python plugin that wraps the ClawRouter proxy for `hermes-agent`. Same <!-- br:m
|
|
|
690
689
|
| ------------------------------------------------------ | ----------------------------------------------------------------------- |
|
|
691
690
|
| [Documentation](https://blockrun.ai/docs) | Full docs |
|
|
692
691
|
| [Model Pricing](https://blockrun.ai/models) | All models & prices |
|
|
693
|
-
| [Image Generation & Editing](docs/image-generation.md) | API examples, <!-- br:models.image -->
|
|
692
|
+
| [Image Generation & Editing](docs/image-generation.md) | API examples, <!-- br:models.image -->9<!-- /br:models.image --> models |
|
|
694
693
|
| [Routing Profiles](docs/routing-profiles.md) | ECO/AUTO/PREMIUM details |
|
|
695
694
|
| [Architecture](docs/architecture.md) | Technical deep dive |
|
|
696
695
|
| [Configuration](docs/configuration.md) | Environment variables |
|
|
@@ -733,7 +732,7 @@ ClawRouter works with any tool that makes OpenAI-compatible API calls — point
|
|
|
733
732
|
|
|
734
733
|
### Is ClawRouter free?
|
|
735
734
|
|
|
736
|
-
ClawRouter itself is free and MIT licensed. You pay only for the LLM API calls routed through it — and several NVIDIA-hosted models (`deepseek-v4-flash`, `
|
|
735
|
+
ClawRouter itself is free and MIT licensed. You pay only for the LLM API calls routed through it — and several NVIDIA-hosted models (`deepseek-v4-flash`, `nemotron-3-nano-omni-30b-a3b-reasoning`, `mistral-nemotron`, `step-3.7-flash`, `nemotron-nano-9b-v2`, `nemotron-nano-12b-v2-vl`) are completely free. Use `/model free` to smart-route across them, or pick any by name.
|
|
737
736
|
|
|
738
737
|
---
|
|
739
738
|
|
package/dist/cli.js
CHANGED
|
@@ -34773,8 +34773,8 @@ var init_config = __esm({
|
|
|
34773
34773
|
// FREE — smaller, faster
|
|
34774
34774
|
"free/deepseek-v4-flash",
|
|
34775
34775
|
// FREE — 1M ctx; slow (~10 tok/s, 07-28 probe) but completes
|
|
34776
|
-
|
|
34777
|
-
//
|
|
34776
|
+
// seed-oss-36b sat here as the free coder until it EOL'd 2026-08-03 (HTTP 410).
|
|
34777
|
+
// gpt-oss-120b/20b already head this chain, so the rung is dropped, not retargeted.
|
|
34778
34778
|
"google/gemini-3.1-flash-lite",
|
|
34779
34779
|
// $0.25/$1.50 — newest flash-lite
|
|
34780
34780
|
"openai/gpt-5.4-nano",
|
|
@@ -34891,8 +34891,8 @@ var init_config = __esm({
|
|
|
34891
34891
|
"openai/gpt-5.3-codex",
|
|
34892
34892
|
"deepseek/deepseek-chat",
|
|
34893
34893
|
// Cheap, reliable
|
|
34894
|
-
"free/
|
|
34895
|
-
// NVIDIA free ultimate backstop (
|
|
34894
|
+
"free/gpt-oss-120b"
|
|
34895
|
+
// NVIDIA free ultimate backstop (was seed-oss-36b; EOL'd 2026-08-03)
|
|
34896
34896
|
]
|
|
34897
34897
|
},
|
|
34898
34898
|
REASONING: {
|
|
@@ -34981,8 +34981,8 @@ var init_config = __esm({
|
|
|
34981
34981
|
// Previous flagship — 6,213ms, reliable
|
|
34982
34982
|
"deepseek/deepseek-chat",
|
|
34983
34983
|
// 1,431ms — cheap, reliable
|
|
34984
|
-
"free/
|
|
34985
|
-
// NVIDIA free ultimate backstop (
|
|
34984
|
+
"free/gpt-oss-120b"
|
|
34985
|
+
// NVIDIA free ultimate backstop (was seed-oss-36b; EOL'd 2026-08-03)
|
|
34986
34986
|
]
|
|
34987
34987
|
},
|
|
34988
34988
|
REASONING: {
|
|
@@ -35090,7 +35090,6 @@ var init_top_models = __esm({
|
|
|
35090
35090
|
"deepseek/deepseek-chat",
|
|
35091
35091
|
"deepseek/deepseek-reasoner",
|
|
35092
35092
|
"free/deepseek-v4-flash",
|
|
35093
|
-
"free/seed-oss-36b",
|
|
35094
35093
|
"free/nemotron-3-nano-omni-30b-a3b-reasoning",
|
|
35095
35094
|
"free/mistral-nemotron",
|
|
35096
35095
|
"free/step-3.7-flash",
|
|
@@ -35400,9 +35399,10 @@ var init_models = __esm({
|
|
|
35400
35399
|
"free/deepseek-v4-pro": "free/deepseek-v4-flash",
|
|
35401
35400
|
"nvidia/deepseek-v4-flash": "free/deepseek-v4-flash",
|
|
35402
35401
|
"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning": "free/nemotron-3-nano-omni-30b-a3b-reasoning",
|
|
35403
|
-
// qwen3-coder-480b retired (NVIDIA EOL 2026-06-14)
|
|
35404
|
-
//
|
|
35405
|
-
//
|
|
35402
|
+
// qwen3-coder-480b retired (NVIDIA EOL 2026-06-14). Its server-side redirect used
|
|
35403
|
+
// to be seed-oss-36b, but that EOL'd too on 2026-08-03, so blockrun re-pointed it
|
|
35404
|
+
// at gpt-oss-120b. Keep the explicit id mappings for pinned callers (BlockRun still
|
|
35405
|
+
// resolves them); the generic coding shorthands follow the gateway to gpt-oss-120b.
|
|
35406
35406
|
"nvidia/qwen3-coder-480b": "free/qwen3-coder-480b",
|
|
35407
35407
|
"qwen/qwen3-coder-480b-a35b-instruct": "free/qwen3-coder-480b",
|
|
35408
35408
|
// glm-4.7 pin keeps the real id — blockrun redirects it server-side (→ gpt-oss-120b).
|
|
@@ -35448,13 +35448,14 @@ var init_models = __esm({
|
|
|
35448
35448
|
"v4-flash": "free/deepseek-v4-flash",
|
|
35449
35449
|
"mistral-free": "free/mistral-nemotron",
|
|
35450
35450
|
// mistral-large-3-675b EOL'd 2026-07-28 → last live free Mistral (blockrun demoted its /free-mistral primary the same way)
|
|
35451
|
-
"glm-free": "free/
|
|
35452
|
-
//
|
|
35451
|
+
"glm-free": "free/gpt-oss-120b",
|
|
35452
|
+
// seed-oss-36b (the prior target) EOL'd 2026-08-03
|
|
35453
35453
|
"llama-free": "free/gpt-oss-120b",
|
|
35454
35454
|
// no live free Llama left (maverick died 2026-07)
|
|
35455
|
-
|
|
35456
|
-
//
|
|
35457
|
-
"qwen-coder
|
|
35455
|
+
// qwen3-coder-480b retired 2026-06-14 → seed-oss-36b, which then EOL'd 2026-08-03.
|
|
35456
|
+
// Follow the gateway's own retarget rather than chaining to a second dead model.
|
|
35457
|
+
"qwen-coder": "free/gpt-oss-120b",
|
|
35458
|
+
"qwen-coder-free": "free/gpt-oss-120b",
|
|
35458
35459
|
"qwen-thinking": "free/gpt-oss-120b",
|
|
35459
35460
|
// qwen3-next died 2026-07-17; no live free Qwen left
|
|
35460
35461
|
"qwen3-next": "free/qwen3-next-80b-a3b-instruct",
|
|
@@ -35463,9 +35464,11 @@ var init_models = __esm({
|
|
|
35463
35464
|
"mistral-small": "free/mistral-nemotron",
|
|
35464
35465
|
// closest live Mistral-family free model
|
|
35465
35466
|
// New live free models (2026-06-14 BlockRun free-tier refresh)
|
|
35467
|
+
// seed-oss pins name the model itself — kept routable, the gateway redirects them.
|
|
35466
35468
|
"seed-oss": "free/seed-oss-36b",
|
|
35467
35469
|
"seed-oss-36b": "free/seed-oss-36b",
|
|
35468
|
-
"coder-free": "free/
|
|
35470
|
+
"coder-free": "free/gpt-oss-120b",
|
|
35471
|
+
// generic "a free coder" → follows the gateway retarget
|
|
35469
35472
|
"mistral-nemotron": "free/mistral-nemotron",
|
|
35470
35473
|
"step-flash": "free/step-3.7-flash",
|
|
35471
35474
|
"step-3.7-flash": "free/step-3.7-flash",
|
|
@@ -35486,8 +35489,9 @@ var init_models = __esm({
|
|
|
35486
35489
|
"nemotron-super": "free/gpt-oss-120b",
|
|
35487
35490
|
"nemotron-49b": "free/gpt-oss-120b",
|
|
35488
35491
|
"nemotron-120b": "free/gpt-oss-120b",
|
|
35489
|
-
devstral: "free/
|
|
35490
|
-
|
|
35492
|
+
devstral: "free/gpt-oss-120b",
|
|
35493
|
+
// seed-oss-36b EOL'd 2026-08-03; matches blockrun's own retarget
|
|
35494
|
+
"devstral-2": "free/gpt-oss-120b",
|
|
35491
35495
|
maverick: "free/llama-4-maverick",
|
|
35492
35496
|
// explicit-ish pin — gateway redirects
|
|
35493
35497
|
free: "free/gpt-oss-120b",
|
|
@@ -36610,8 +36614,13 @@ var init_models = __esm({
|
|
|
36610
36614
|
reasoning: true
|
|
36611
36615
|
},
|
|
36612
36616
|
{
|
|
36613
|
-
// ByteDance Seed-OSS 36B:
|
|
36614
|
-
//
|
|
36617
|
+
// ByteDance Seed-OSS 36B: was the free coder, and the redirect target for the
|
|
36618
|
+
// retired qwen3-coder-480b. EOL'd 2026-08-03 — blockrun's probe got HTTP 410
|
|
36619
|
+
// Gone from NVIDIA on both passes and the prod health gate fired
|
|
36620
|
+
// [ALERT][free-model-dead] kind=gone the same day; upstream now hides it and
|
|
36621
|
+
// re-pointed its own dependents (qwen3-coder-480b, devstral-2) at gpt-oss-120b.
|
|
36622
|
+
// Entry kept so explicit pins stay routable; off the picker, the FREE_MODELS
|
|
36623
|
+
// cascade, and the router fallback chains.
|
|
36615
36624
|
id: "free/seed-oss-36b",
|
|
36616
36625
|
name: "[Free] Seed-OSS 36B",
|
|
36617
36626
|
version: "oss-36b",
|
|
@@ -90216,8 +90225,6 @@ var init_proxy = __esm({
|
|
|
90216
90225
|
"free/gpt-oss-20b",
|
|
90217
90226
|
"free/deepseek-v4-flash",
|
|
90218
90227
|
// 1M ctx; slow (~10 tok/s, 07-28 probe) but completes
|
|
90219
|
-
"free/seed-oss-36b",
|
|
90220
|
-
// live coder (successor to retired qwen3-coder-480b)
|
|
90221
90228
|
"free/mistral-nemotron",
|
|
90222
90229
|
// strong instruction following
|
|
90223
90230
|
"free/step-3.7-flash",
|
package/dist/index.js
CHANGED
|
@@ -93,7 +93,6 @@ var init_top_models = __esm({
|
|
|
93
93
|
"deepseek/deepseek-chat",
|
|
94
94
|
"deepseek/deepseek-reasoner",
|
|
95
95
|
"free/deepseek-v4-flash",
|
|
96
|
-
"free/seed-oss-36b",
|
|
97
96
|
"free/nemotron-3-nano-omni-30b-a3b-reasoning",
|
|
98
97
|
"free/mistral-nemotron",
|
|
99
98
|
"free/step-3.7-flash",
|
|
@@ -403,9 +402,10 @@ var init_models = __esm({
|
|
|
403
402
|
"free/deepseek-v4-pro": "free/deepseek-v4-flash",
|
|
404
403
|
"nvidia/deepseek-v4-flash": "free/deepseek-v4-flash",
|
|
405
404
|
"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning": "free/nemotron-3-nano-omni-30b-a3b-reasoning",
|
|
406
|
-
// qwen3-coder-480b retired (NVIDIA EOL 2026-06-14)
|
|
407
|
-
//
|
|
408
|
-
//
|
|
405
|
+
// qwen3-coder-480b retired (NVIDIA EOL 2026-06-14). Its server-side redirect used
|
|
406
|
+
// to be seed-oss-36b, but that EOL'd too on 2026-08-03, so blockrun re-pointed it
|
|
407
|
+
// at gpt-oss-120b. Keep the explicit id mappings for pinned callers (BlockRun still
|
|
408
|
+
// resolves them); the generic coding shorthands follow the gateway to gpt-oss-120b.
|
|
409
409
|
"nvidia/qwen3-coder-480b": "free/qwen3-coder-480b",
|
|
410
410
|
"qwen/qwen3-coder-480b-a35b-instruct": "free/qwen3-coder-480b",
|
|
411
411
|
// glm-4.7 pin keeps the real id — blockrun redirects it server-side (→ gpt-oss-120b).
|
|
@@ -451,13 +451,14 @@ var init_models = __esm({
|
|
|
451
451
|
"v4-flash": "free/deepseek-v4-flash",
|
|
452
452
|
"mistral-free": "free/mistral-nemotron",
|
|
453
453
|
// mistral-large-3-675b EOL'd 2026-07-28 → last live free Mistral (blockrun demoted its /free-mistral primary the same way)
|
|
454
|
-
"glm-free": "free/
|
|
455
|
-
//
|
|
454
|
+
"glm-free": "free/gpt-oss-120b",
|
|
455
|
+
// seed-oss-36b (the prior target) EOL'd 2026-08-03
|
|
456
456
|
"llama-free": "free/gpt-oss-120b",
|
|
457
457
|
// no live free Llama left (maverick died 2026-07)
|
|
458
|
-
|
|
459
|
-
//
|
|
460
|
-
"qwen-coder
|
|
458
|
+
// qwen3-coder-480b retired 2026-06-14 → seed-oss-36b, which then EOL'd 2026-08-03.
|
|
459
|
+
// Follow the gateway's own retarget rather than chaining to a second dead model.
|
|
460
|
+
"qwen-coder": "free/gpt-oss-120b",
|
|
461
|
+
"qwen-coder-free": "free/gpt-oss-120b",
|
|
461
462
|
"qwen-thinking": "free/gpt-oss-120b",
|
|
462
463
|
// qwen3-next died 2026-07-17; no live free Qwen left
|
|
463
464
|
"qwen3-next": "free/qwen3-next-80b-a3b-instruct",
|
|
@@ -466,9 +467,11 @@ var init_models = __esm({
|
|
|
466
467
|
"mistral-small": "free/mistral-nemotron",
|
|
467
468
|
// closest live Mistral-family free model
|
|
468
469
|
// New live free models (2026-06-14 BlockRun free-tier refresh)
|
|
470
|
+
// seed-oss pins name the model itself — kept routable, the gateway redirects them.
|
|
469
471
|
"seed-oss": "free/seed-oss-36b",
|
|
470
472
|
"seed-oss-36b": "free/seed-oss-36b",
|
|
471
|
-
"coder-free": "free/
|
|
473
|
+
"coder-free": "free/gpt-oss-120b",
|
|
474
|
+
// generic "a free coder" → follows the gateway retarget
|
|
472
475
|
"mistral-nemotron": "free/mistral-nemotron",
|
|
473
476
|
"step-flash": "free/step-3.7-flash",
|
|
474
477
|
"step-3.7-flash": "free/step-3.7-flash",
|
|
@@ -489,8 +492,9 @@ var init_models = __esm({
|
|
|
489
492
|
"nemotron-super": "free/gpt-oss-120b",
|
|
490
493
|
"nemotron-49b": "free/gpt-oss-120b",
|
|
491
494
|
"nemotron-120b": "free/gpt-oss-120b",
|
|
492
|
-
devstral: "free/
|
|
493
|
-
|
|
495
|
+
devstral: "free/gpt-oss-120b",
|
|
496
|
+
// seed-oss-36b EOL'd 2026-08-03; matches blockrun's own retarget
|
|
497
|
+
"devstral-2": "free/gpt-oss-120b",
|
|
494
498
|
maverick: "free/llama-4-maverick",
|
|
495
499
|
// explicit-ish pin — gateway redirects
|
|
496
500
|
free: "free/gpt-oss-120b",
|
|
@@ -1613,8 +1617,13 @@ var init_models = __esm({
|
|
|
1613
1617
|
reasoning: true
|
|
1614
1618
|
},
|
|
1615
1619
|
{
|
|
1616
|
-
// ByteDance Seed-OSS 36B:
|
|
1617
|
-
//
|
|
1620
|
+
// ByteDance Seed-OSS 36B: was the free coder, and the redirect target for the
|
|
1621
|
+
// retired qwen3-coder-480b. EOL'd 2026-08-03 — blockrun's probe got HTTP 410
|
|
1622
|
+
// Gone from NVIDIA on both passes and the prod health gate fired
|
|
1623
|
+
// [ALERT][free-model-dead] kind=gone the same day; upstream now hides it and
|
|
1624
|
+
// re-pointed its own dependents (qwen3-coder-480b, devstral-2) at gpt-oss-120b.
|
|
1625
|
+
// Entry kept so explicit pins stay routable; off the picker, the FREE_MODELS
|
|
1626
|
+
// cascade, and the router fallback chains.
|
|
1618
1627
|
id: "free/seed-oss-36b",
|
|
1619
1628
|
name: "[Free] Seed-OSS 36B",
|
|
1620
1629
|
version: "oss-36b",
|
|
@@ -36378,8 +36387,8 @@ var init_config = __esm({
|
|
|
36378
36387
|
// FREE — smaller, faster
|
|
36379
36388
|
"free/deepseek-v4-flash",
|
|
36380
36389
|
// FREE — 1M ctx; slow (~10 tok/s, 07-28 probe) but completes
|
|
36381
|
-
|
|
36382
|
-
//
|
|
36390
|
+
// seed-oss-36b sat here as the free coder until it EOL'd 2026-08-03 (HTTP 410).
|
|
36391
|
+
// gpt-oss-120b/20b already head this chain, so the rung is dropped, not retargeted.
|
|
36383
36392
|
"google/gemini-3.1-flash-lite",
|
|
36384
36393
|
// $0.25/$1.50 — newest flash-lite
|
|
36385
36394
|
"openai/gpt-5.4-nano",
|
|
@@ -36496,8 +36505,8 @@ var init_config = __esm({
|
|
|
36496
36505
|
"openai/gpt-5.3-codex",
|
|
36497
36506
|
"deepseek/deepseek-chat",
|
|
36498
36507
|
// Cheap, reliable
|
|
36499
|
-
"free/
|
|
36500
|
-
// NVIDIA free ultimate backstop (
|
|
36508
|
+
"free/gpt-oss-120b"
|
|
36509
|
+
// NVIDIA free ultimate backstop (was seed-oss-36b; EOL'd 2026-08-03)
|
|
36501
36510
|
]
|
|
36502
36511
|
},
|
|
36503
36512
|
REASONING: {
|
|
@@ -36586,8 +36595,8 @@ var init_config = __esm({
|
|
|
36586
36595
|
// Previous flagship — 6,213ms, reliable
|
|
36587
36596
|
"deepseek/deepseek-chat",
|
|
36588
36597
|
// 1,431ms — cheap, reliable
|
|
36589
|
-
"free/
|
|
36590
|
-
// NVIDIA free ultimate backstop (
|
|
36598
|
+
"free/gpt-oss-120b"
|
|
36599
|
+
// NVIDIA free ultimate backstop (was seed-oss-36b; EOL'd 2026-08-03)
|
|
36591
36600
|
]
|
|
36592
36601
|
},
|
|
36593
36602
|
REASONING: {
|
|
@@ -90036,8 +90045,6 @@ var init_proxy = __esm({
|
|
|
90036
90045
|
"free/gpt-oss-20b",
|
|
90037
90046
|
"free/deepseek-v4-flash",
|
|
90038
90047
|
// 1M ctx; slow (~10 tok/s, 07-28 probe) but completes
|
|
90039
|
-
"free/seed-oss-36b",
|
|
90040
|
-
// live coder (successor to retired qwen3-coder-480b)
|
|
90041
90048
|
"free/mistral-nemotron",
|
|
90042
90049
|
// strong instruction following
|
|
90043
90050
|
"free/step-3.7-flash",
|
|
@@ -50,7 +50,7 @@ This is where you're paying for real value:
|
|
|
50
50
|
|
|
51
51
|
## The Solution: ClawRouter
|
|
52
52
|
|
|
53
|
-
[ClawRouter](https://github.com/BlockRunAI/ClawRouter) is an open-source local proxy that sits between your app and <!-- br:models.chatVisible -->
|
|
53
|
+
[ClawRouter](https://github.com/BlockRunAI/ClawRouter) is an open-source local proxy that sits between your app and <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> AI models. It saves you money in three ways: **smart routing**, **token optimization**, and **response caching**.
|
|
54
54
|
|
|
55
55
|
```
|
|
56
56
|
┌─────────────┐ ┌──────────────────────────────┐ ┌──────────────────┐
|
|
@@ -31,7 +31,7 @@ This is exactly the problem [ClawRouter](https://github.com/BlockRunAI/ClawRoute
|
|
|
31
31
|
|
|
32
32
|
## ClawRouter: Smart Routing for Agents
|
|
33
33
|
|
|
34
|
-
ClawRouter is an open-source local proxy that sits between your agent and <!-- br:models.chatVisible -->
|
|
34
|
+
ClawRouter is an open-source local proxy that sits between your agent and <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> LLM models across 9 providers. It analyzes every request across 15 dimensions and routes it to the cheapest model that can handle it — in under 1ms, entirely locally.
|
|
35
35
|
|
|
36
36
|
```
|
|
37
37
|
Your Agent → ClawRouter (localhost:8402) → Best model for the job
|
|
@@ -74,7 +74,7 @@ Then point your agent at `http://localhost:8402/v1/` with any OpenAI-compatible
|
|
|
74
74
|
|
|
75
75
|
- **No API keys to manage** — wallet-based cryptographic auth
|
|
76
76
|
- **No subscriptions** — pay per request in USDC (Base or Solana)
|
|
77
|
-
- **No vendor lock-in** — <!-- br:models.chatVisible -->
|
|
77
|
+
- **No vendor lock-in** — <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models, switch anytime
|
|
78
78
|
- **You control your wallet** — non-custodial, funds never held by a third party
|
|
79
79
|
- **Budget caps** — set a max spend per session, ClawRouter gracefully downgrades when budget runs low
|
|
80
80
|
- **Token compression** — 7-layer pipeline reduces token costs by 7–40% before they hit any provider
|
|
@@ -135,7 +135,7 @@ Less context repeated = fewer tokens = lower cost. Agents that need to recall ea
|
|
|
135
135
|
|
|
136
136
|
### 7. x402 Micropayments — Wallet-Based Budget Control
|
|
137
137
|
|
|
138
|
-
<p align="center"><img src="assets/blockrun-clawrouter-x402-usdc-micropayment-wallet-budget-control.png" alt="Budget limits enforced by physical construction — wallet loaded via Base/Solana, pay per call across <!-- br:models.chatVisible -->
|
|
138
|
+
<p align="center"><img src="assets/blockrun-clawrouter-x402-usdc-micropayment-wallet-budget-control.png" alt="Budget limits enforced by physical construction — wallet loaded via Base/Solana, pay per call across <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models, balance hits zero and the valve shuts cleanly" width="720"></p>
|
|
139
139
|
|
|
140
140
|
ClawRouter pays for inference via [x402](https://x402.org/) USDC micropayments (Base or Solana). You load a wallet. Each inference call costs exactly what it costs. When the wallet runs low, requests stop cleanly.
|
|
141
141
|
|
|
@@ -222,7 +222,7 @@ OpenRouter doesn't always pass through provider-specific features correctly. Ima
|
|
|
222
222
|
|
|
223
223
|
**Direct provider routing.** ClawRouter routes through BlockRun's API directly to providers — not through a second aggregator. One hop, not two. Provider-specific features work because there's no middleman translating them.
|
|
224
224
|
|
|
225
|
-

|
|
226
226
|
|
|
227
227
|
---
|
|
228
228
|
|
|
@@ -240,7 +240,7 @@ When new models launch, OpenRouter's catalog lags. Users configure a model that
|
|
|
240
240
|
|
|
241
241
|
### How ClawRouter Solves This
|
|
242
242
|
|
|
243
|
-
ClawRouter maintains a curated catalog of <!-- br:models.chatVisible -->
|
|
243
|
+
ClawRouter maintains a curated catalog of <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models across 9 providers (including 9 free models), updated with each release. Delisted models have automatic redirect aliases:
|
|
244
244
|
|
|
245
245
|
```typescript
|
|
246
246
|
// Delisted models redirect automatically
|
|
@@ -268,7 +268,7 @@ No silent drops. No stale catalog. Models are benchmarked for speed, quality, an
|
|
|
268
268
|
| **Rate limits** | Per-key, shared | Per-wallet, independent |
|
|
269
269
|
| **Vision support** | Images sometimes dropped | Auto-detected, vision-only fallback |
|
|
270
270
|
| **Tool calling** | Silent failures with some models | Flag-based filtering, guaranteed support |
|
|
271
|
-
| **Model catalog** | Laggy, silent drops | Curated <!-- br:models.chatVisible -->
|
|
271
|
+
| **Model catalog** | Laggy, silent drops | Curated <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models, redirect aliases |
|
|
272
272
|
| **Budget control** | Monthly invoice | Per-session cap (`maxCostPerRun`) |
|
|
273
273
|
| **Setup** | Create account, paste key | Agent generates wallet, auto-configured |
|
|
274
274
|
| **Average cost** | $25/M tokens (Opus direct) | auto-routed = **<!-- br:savings.autoVsBaselinePct -->87<!-- /br:savings.autoVsBaselinePct -->% savings** |
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blockrun/clawrouter",
|
|
3
|
-
"version": "0.12.
|
|
4
|
-
"description": "Smart LLM router — save 87% on inference costs.
|
|
3
|
+
"version": "0.12.241",
|
|
4
|
+
"description": "Smart LLM router — save 87% on inference costs. 71 models (6 free), one wallet, x402 micropayments.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: clawrouter
|
|
3
|
-
description: Hosted-gateway LLM router — save 87% on inference costs. A local proxy that forwards each request to the blockrun.ai gateway, which routes to the cheapest capable model across
|
|
3
|
+
description: Hosted-gateway LLM router — save 87% on inference costs. A local proxy that forwards each request to the blockrun.ai gateway, which routes to the cheapest capable model across 71 models from OpenAI, Anthropic, Google, DeepSeek, xAI, NVIDIA, and more. 6 free NVIDIA models included. Also exposes realtime market data (global stocks, crypto, FX, commodities), Twitter/X intelligence, prediction-market data across Polymarket, Kalshi, Limitless, Opinion, Predict.Fun, dFlow + UMA oracle resolution + wallet identity & clustering, phone-number intelligence (carrier + SIM-swap fraud detection) plus AI-powered outbound voice calls (Twilio + Bland.ai), AND the Surf unified crypto data API (84 endpoints — CEX/DEX, on-chain SQL over 80+ ClickHouse tables, 100M+ labeled wallets, prediction markets, social/CT mindshare, news, VC fund intel) as built-in agent tools. Not a local-inference tool — prompts are sent to the blockrun.ai gateway.
|
|
4
4
|
triggers:
|
|
5
5
|
- "clawrouter"
|
|
6
6
|
- "claw router"
|
|
@@ -53,7 +53,7 @@ metadata:
|
|
|
53
53
|
|
|
54
54
|
# ClawRouter
|
|
55
55
|
|
|
56
|
-
Hosted-gateway LLM router that saves <!-- br:savings.autoVsBaselinePct -->87<!-- /br:savings.autoVsBaselinePct -->% on inference costs by forwarding each request to the blockrun.ai gateway, which picks the cheapest model capable of handling it across <!-- br:models.chatVisible -->
|
|
56
|
+
Hosted-gateway LLM router that saves <!-- br:savings.autoVsBaselinePct -->87<!-- /br:savings.autoVsBaselinePct -->% on inference costs by forwarding each request to the blockrun.ai gateway, which picks the cheapest model capable of handling it across <!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models from 9 providers (<!-- br:models.free -->6<!-- /br:models.free --> free NVIDIA models). All billing flows through one USDC wallet; you do not hold provider API keys.
|
|
57
57
|
|
|
58
58
|
**This is not a local-inference tool.** ClawRouter is a thin local proxy. Your prompts are sent over HTTPS to the blockrun.ai gateway for model execution. If your workload requires inference that never leaves your machine, use a local runtime like Ollama — ClawRouter is not the right tool for that use case.
|
|
59
59
|
|
|
@@ -141,7 +141,7 @@ Rules handle ~~80% of requests in <1ms. Only ambiguous queries hit the LLM class
|
|
|
141
141
|
|
|
142
142
|
## Available Models
|
|
143
143
|
|
|
144
|
-
<!-- br:models.chatVisible -->
|
|
144
|
+
<!-- br:models.chatVisible -->71<!-- /br:models.chatVisible --> models including: gpt-5.6-terra [balanced, stable default], gpt-5.6-sol [flagship], gpt-5.6-luna [cost-efficient], gpt-5.5, gpt-5.5-pro [max compute], chat-latest [ChatGPT Instant], gpt-5.4, gpt-4o, o3, claude-fable-5, claude-opus-5 [Anthropic flagship, 1M ctx], claude-opus-4.8, claude-opus-4.7, claude-opus-4.5, claude-sonnet-5, claude-sonnet-4.6, gemini-3.1-pro, gemini-2.5-flash, deepseek-v4-pro, deepseek-chat, grok-4.5, grok-4.3, grok-build-0.1, kimi-k3 [1M ctx flagship], kimi-k2.7, qwen3.7-max [Qwen flagship, 1M ctx], and 6 free NVIDIA models (deepseek-v4-flash [1M context], nemotron-3-nano-omni-30b-a3b-reasoning [vision], mistral-nemotron, step-3.7-flash, nemotron-nano-9b-v2, nemotron-nano-12b-v2-vl [vision]).
|
|
145
145
|
|
|
146
146
|
## Built-in Agent Tools
|
|
147
147
|
|