Swap the model. Keep the expertise.

A task router for multi-model coding harnesses that compounds every time you use it — owned by the engineers who improve it.

What compounds when you integrate.

The loop compounds

Every outcome you report trains the shared model. The router you integrate today is the worst one you'll ever run. It gets sharper using results from every harness on the protocol, not just yours, and you didn't have to build it.

Swap the model, keep the expertise

There's a new frontier model every few weeks. The routing intelligence doesn't reset when you switch — it persists across model swaps and travels with you across harnesses. You're building a layer that outlives whatever's underneath it.

Lower inference cost

The router picks the right model for each task instead of sending everything to the biggest one. You spend less on inference before a single token is counted.

A stake in what you improve

Outcome data that measurably improves the router mints HTASK to you — a position in its per-decision fee stream, held as ownership or redeemed for USDC anytime. Keep it as revenue, pass it through to your users, or split it.

Coding / Multi-Model Routing

Coding Task Router

Hokusai's first router corpus comes from real autonomous coding evals, not synthetic routing examples.

696

Deduplicated router-training records

209

Challenge-mode routing examples

85

Head-to-head model comparisons

88%

Migration, feature, and bugfix work

The data spans migrations, features, bug fixes, infra, tests, refactors, and docs across TypeScript, JavaScript, Python, Bash, and mixed-language repos. This provides a decent starting point for learning routing behavior while leaving clear room to expand coverage across more repositories, languages, and task families.

Integration

Drop-in middleware.

Route tasks through Hokusai, execute them in your harness, then report the result back so the shared router can keep improving.

import { route } from '@hokusai/router'

const { model, reasoning } = await route({
  task: userTask,
  context: harnessContext,
})

const result = await models[model].run(userTask)
await route.reportOutcome(result) // mints tokens proportional to performance lift
Learn how to contribute

Where does your routing data go today?

 Lab-owned auto-routingHokusai
Who pays for routing decisionsThe lab keeps it as gross marginIntegrators pay; fees back the contributor token.
Who captures the optimization signalThe labYou and the contributors
Who keeps the inference cost savingsThe lab keeps marginYou
What you build over timeNothing transferableA token position in the router
Portability across harnessesLocked inTake your position with you
AuditabilityOpaqueOn-chain attribution