Smarter, Faster, Open Source.Pick all three.
Frontier intelligence over 200× faster and 400× cheaper. Every model behind one key.
$
✓ hanzo (+ hanzo-node, same build)
✓ hanzo-mcp (+ mcp, same build)
✓ dev
✓ gen
✓ zt
ready → ~/.local/bin
What’s up?
Type / for skills
Backed by
Frontier AI for everything you build.
Language, routing, decisions and creative models.
Flagship modelEnsoOrchestrates every model for higher intelligence, faster and at lower cost.
KaiPrecise decisions and structured reasoning.
ZenDeep reasoning for complex problems.
IroImage generation and visual understanding.
KomaVideo generation and world simulation.
OtoSound generation and audio understanding.
KoeVoice synthesis and speech understanding.
UtaMusic generation and composition.
Mori3D generation and spatial understanding.
Hanzo is the AI-native company platform.
A vertically integrated agentic operating system for business — intelligence, applications, computer-use agents, developer tools, MCP, and cloud infrastructure designed together in one workspace.
Works with every agent, bot and CLI tool.
Claude Code, Codex, Cursor and the rest, every model behind one key. Or let your agent sign itself up.
Install the Hanzo CLI
Accelerate Claude Code with Hanzo
Set up Codex, Cursor and more
No human required
// 1. Sign up with a wallet: get a challenge, sign it, verify (POST /v1/iam/web3/verify), exchange for a token.const nonce = await fetch(`${ID}/v1/iam/web3/nonce?chain=evm&address=${account.address}`).then((r) => r.json())const message = [`${nonce.data.domain} wants you to sign in with your Ethereum account:`, account.address, '', ...(nonce.data.statement ? [nonce.data.statement, ''] : []), `URI: ${nonce.data.uri}`, `Version: ${nonce.data.version}`, `Nonce: ${nonce.data.nonce}`, `Issued At: ${nonce.data.issuedAt}`].join('\n')const signature = await account.signMessage({ message })// Verify the signed challenge: a first-seen wallet gets an account and an organization of its own.const verifier = randomBytes(32).toString('base64url')const challenge = createHash('sha256').update(verifier).digest('base64url')const { data: code } = await fetch(`${ID}/v1/iam/web3/verify`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ clientId: CLIENT, chain: 'evm', scheme: 'secp256k1-eip191', address: account.address, message, signature, type: 'code', redirectUri: 'http://localhost:3000/callback', scope: 'openid profile email', codeChallenge: challenge, codeChallengeMethod: 'S256' }),}).then((r) => r.json())const token = await fetch(`${ID}/v1/iam/oauth/token`, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: new URLSearchParams({ grant_type: 'authorization_code', client_id: CLIENT, code, code_verifier: verifier, redirect_uri: 'http://localhost:3000/callback' }),}).then((r) => r.json())// 2. Get an API key (POST /v1/account/keys) that outlives the token. Shown once.const hanzo = new Hanzo({ apiKey: token.access_token, baseURL: API })const { key } = await hanzo.account.keys.create({ name: 'agent', type: 'secret' })// 3. Use AI (POST /v1/chat/completions) with the Hanzo SDK — OpenAI-compatible, one line.const client = new Hanzo({ apiKey: key, baseURL: API })const chat = await client.chat.completions.create({ model: 'zen-free', messages: [{ role: 'user', content: 'Reply with the single word: ready' }],})console.log('chat', chat.choices[0]?.message?.content, 'free left today:', chat.headers?.get?.('x-ratelimit-remaining'))// Or make a Kai decision — typed, calibrated, zero output tokens.const decision = await client.decisions.create({ model: 'kai', state: { ticket: 'The export button throws a 500 error since this morning.' }, questions: { team: { type: 'choice', instructions: 'Which team should handle this ticket?', criteria: { billing: 'charges, invoices, refunds', tech: 'bugs, errors, outages', other: 'anything else' } } },})console.log('decision', decision.answers, 'input tokens:', decision.usage.input_tokens, 'latency:', decision.latency_ms + 'ms')// 4. Top up in USDC or Card (POST /v1/billing/crypto/deposit · GET /v1/billing/crypto/options · GET /v1/billing/tier).const deposit = await client.billing.crypto.deposit({ chain: 'base', token: 'usdc', amountCents: 500 })console.log('send to', deposit.depositAddress, 'then poll', `${API}/v1/billing/crypto/deposit/${deposit.id}`)console.log('HANZO_API_KEY=' + key.slice(0, 12) + '… (store the whole key; it is shown once)')Connect your client to api.hanzo.ai/v1/mcp. Pick how to connect, then your client.
Run this command in your terminal.
claude mcp add --transport http --scope user hanzo-cloud https://api.hanzo.ai/v1/mcp --header "Authorization: Bearer sk-..."Faster where the work happens.
Hanzo Dev and Kai, each measured side by side.
3.02×
faster on the same coding tasks
Paired over 42 tasks both agents solved · 95% interval 2.06–4.36×.
Median time a task · less time is faster
- Settled by search, no model call, 24 tasks
- 8.22× faster
- model calls a task
- 1.0 vs 3.8
9.6×
faster than an LLM call, over the network
Each a p50 timed at the client, network included: a Claude Sonnet 5.5 call as Claude Code saw it, over 650 calls, and a Kai decision on api.hanzo.ai, over 100. Served on one GPU with no network, its input repeated, Kai answers in 0.8 ms.
Average time & Kai speedup per call · less time is faster
The same intelligence. A smaller bill.
Enso routes each answer to the right model. Kai answers a decision directly.
Enso vs frontier LLMs · GPQA Diamond
up to 14.2× less
per 1,000 questions, at higher accuracy
Enso Flash answers 90.6% of new GPQA Diamond questions at $3.26 per 1,000 — higher accuracy than Claude Fable 5.1 (87.9% at $46.25). Enso reaches 93.7% at $10.03, ahead of the best single model (93.1%).
Kai vs frontier LLMs
up to 530× less
than frontier LLMs, per input token
Kai bills input only; an LLM also bills every token it writes.
Per million tokens, input and output · less is cheaper
A New Pareto Frontier of Intelligence
GPQA Diamond challenges AI with 198 graduate-level science questions. See how Enso balances accuracy and cost across 1,000 answers.
Drag the line to set a budget. Point at any model to read it.
Dashed discs are scores reported by a lab or an independent evaluation:GLM 5.3 ↗Grok 4.7 ↗GPT-6 Sol ↗Kimi K3 ↗
We ship every day. Fork anything. Build your own.
Every layer of the stack is open, hackable and modifiable — recursively self-upgrading AI from the ground up. Fork, remix, and build the apps only you can imagine.
Commits a day
Pricing
Free
Chat and build with Hanzo, free.
Free
No card needed
Try HanzoInstant access · Free forever
What’s included
- Chat on the web with Enso Auto
- Free model requests and Kai decisions included
- Search the web from chat
- Write, edit and create content
- Make code, pages and charts beside the chat
- Choose how hard it thinks
Go
Your everyday AI development toolkit, with access to every model and more included usage.
$8USD/month
Billed monthly
Try HanzoNo commitment · Cancel anytime
Everything in Free, plus:
- Build apps with Hanzo Dev
- Connect any MCP server in Hanzo Dev
- The Hanzo CLI for macOS, Windows and Linux
- Every model, including Enso Ultra and Kai
- Usage included on every model
- Priority inference and priority support
- Your own agents, working in the background
- Automations, with daily runs included
Pro
For serious builders running agents, shipping code, and needing substantially higher limits.
$15USD/month
Billed monthly
Try HanzoNo commitment · Cancel anytime
Everything in Go, plus:
- 3x more usage than Go
- 3x higher limits than Go
- Hanzo Bot: 1 bot of your own
- Early access to new models and features
- Train custom models on your data
- Hanzo Engine to run models on your own hardware
- Dedicated support
Trusted by











