zkrouter

Routes OpenAI-compatible LLM requests to tiered OpenRouter models with ZK-stamped decision logs.

1|Updated Aug 5, 2026
One-click install
npx skills add https://github.com/Solizardking/Solana-Robotics-Kit --skill zkrouter-solizardking
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: zkrouter
Source: https://github.com/Solizardking/Solana-Robotics-Kit/tree/main/eliza/skills/zkrouter%20copy
Command: npx skills add https://github.com/Solizardking/Solana-Robotics-Kit --skill zkrouter-solizardking

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Sending every LLM request to a premium model wastes money, while manually choosing models per request is impractical. This Skill runs a self-hosted OpenAI-compatible proxy that classifies each request, routes it to the cheapest capable model across 12+ OpenRouter models, and records every routing decision in a ZK Merkle journal for auditability. ## Core Features & Use Cases - Tier-Based Smart Routing: A 14-dimension weighted classifier assigns requests to SIMPLE, MEDIUM, COMPLEX, or REASONING tiers in under 1ms with zero LLM cost, cutting inference spend by roughly 60-80%. - Mode Overrides: Force a tier with prefixes like /max, /complex, or [simple] without the LLM ever seeing the override token. - ZK-Stamped Audit Trail: Every routing decision is appended to a Merkle tree, with the root and index returned in response headers for verifiable replay. - Zero-Config Birth Provisioning: On first boot, the Birth bot mints a sponsored OpenRouter key via the x402.wtf control plane, so no signup or API key is required. - Use Case: Point your existing OpenAI-compatible agent or chat client at http://127.0.0.1:18800 and let simple queries hit Gemini Flash while complex coding tasks route to Claude Sonnet automatically. ## Quick Start Ask the AI to start the zk-router proxy and send a chat completion request to http://127.0.0.1:18800/v1/chat/completions using the model zkrouter/auto.

Frequently Asked Questions about zkrouter

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I route LLM requests to cheaper models automatically?

Run zk-router as a local proxy on port 18800 and point any OpenAI-compatible client at it. Its 14-dimension classifier scores each request in under 1ms and forwards it to the cheapest capable model across SIMPLE, MEDIUM, COMPLEX, and REASONING tiers.

How to force a specific model tier for one request?

Prefix your prompt with a mode override such as /max, /complex, /reasoning, or [simple]. The router strips the prefix before forwarding, so the LLM never sees it, and aliases like deep mode or basic mode work too.

Does zk-router require an OpenRouter API key?

No key is required on first boot. The Birth bot contacts the x402.wtf control plane to mint a sponsored OpenRouter key bound to a local Solana wallet. You can bypass this by setting OPENROUTER_API_KEY directly.

Can I change which model each tier uses?

Yes, edit zkrouter.config.json to set primary and fallback models per tier, then call POST /reload-config to hot-reload without restarting. The config file is searched via the ZKROUTER_CONFIG env var, the working directory, or ~/.config/zk-router.

Why do admin endpoints return 503 not_configured?

All /v1/admin/* endpoints require Authorization: Bearer with the CLAWDROUTER_ADMIN_SECRET environment variable. If that variable is unset, the endpoints return 503 as a defense-in-depth measure, so set the secret before using the kill switch or audit APIs.