2026-06-10 14:21:21 -07:00
2026-06-28 20:10:30 -07:00

Hanzo Net

Hanzo Net

Run your own distributed AI cluster — in Rust, across every device you own.

Hanzo Net turns the machines you already have — iPhone, iPad, Mac, an NVIDIA box, a Raspberry Pi — into one private, peer-to-peer AI cluster. Models, agents, tools, and inference run on your hardware, meshed together over libp2p, with post-quantum identity and on-chain settlement built in. No datacenter, no proxy, no lock-in.

This repository is the canonical Rust workspace behind Hanzo Net: a set of focused crates that compose into a self-hostable node.

MIT Rust 2021 36 crates Post-quantum native

Why Hanzo Net

  • Your hardware, your cluster. Pool everyday devices into one inference fabric — each node contributes compute, storage, and models.
  • Peer-to-peer by design. libp2p mesh with a relayer for NAT traversal; no central coordinator to trust or pay.
  • Agents, tools, and MCP on-device. A full agentic runtime — job queue, tool runner, and Model Context Protocol — executes locally and safely.
  • Post-quantum from the identity up. ML-KEM, ML-DSA, and SLH-DSA underpin node identity, messaging, and attestation.
  • On-chain settlement. An embedded L2 (Quasar BFT, EVM with AI precompiles) meters and settles heterogeneous compute.
  • Zen models, natively. Serve the Zen model family — Hanzo's own architecture — alongside your local weights.

Quickstart

Build the whole workspace from source:

git clone https://github.com/hanzoai/net
cd net
cargo build --release
cargo test

Or depend on an individual crate from crates.io:

[dependencies]
hanzo-vm      = "1.1"
hanzo-runtime = "1.1"
# crates whose name collides with the consumer SDK ship under a hanzonet-* package:
hanzo-pqc     = { version = "1.1", package = "hanzonet-pqc" }

The Rust library name is always hanzo_*, so use hanzo_vm::…; works regardless of which package on crates.io served the crate.

A running node exposes a local HTTP API under /v1 for models, jobs, and tools.

Architecture

Hanzo Net is composed, not monolithic. The core pieces:

Layer Crates What it does
Networking hanzo-libp2p, hanzo-libp2p-relayer, hanzo-messages Peer-to-peer mesh, relaying, and typed node messaging.
Identity & crypto hanzo-identity, hanzo-did, hanzo-pqc, hanzo-zap Post-quantum node identity, DIDs, and authorization.
Runtime & inference hanzo-runtime, hanzo-wasm, hanzo-wasm-runtime, hanzo-embed, hanzo-models, hanzo-model-discovery On-device model execution, WASM sandboxing, embeddings, and model discovery.
Agents & tools hanzo-agentic, hanzo-tools, hanzo-tools-runner, hanzo-runner, hanzo-mcp, hanzo-jobs, hanzo-job-queue-manager Agentic orchestration, safe tool execution, and the Model Context Protocol.
Data & state hanzo-database, hanzo-db-sqlite, hanzo-fs, hanzo-api, hanzo-http-api Storage, filesystem, and the local /v1 HTTP surface.
Cluster economics hanzo-compute, hanzo-machine, hanzo-mining, hanzo-hmm, hanzo-brain Compute accounting, VM lifecycle, and Hamiltonian market-maker pricing for heterogeneous hardware.
On-chain settlement hanzo-consensus, hanzo-vm, hanzo-l2 Quasar BFT consensus, an EVM with PQ / Quasar / AI-inference precompiles, and an L2 bridge on Lux Network.

All crates

Every workspace member is also published to crates.io and mirrored as a standalone repository for focused issues and CI.

36 crates → standalone repos
Crate (crates.io) Repo
hanzo-agentic hanzonet/agentic
hanzo-ai-format hanzonet/ai-format
hanzo-api hanzonet/api
hanzo-brain hanzonet/brain
hanzo-compute hanzonet/compute
hanzonet-config hanzonet/config
hanzo-consensus hanzonet/consensus
hanzo-database hanzonet/database
hanzo-db-sqlite hanzonet/db-sqlite
hanzonet-did hanzonet/did
hanzo-embed hanzonet/embed
hanzo-fs hanzonet/fs
hanzo-hmm hanzonet/hmm
hanzo-http-api hanzonet/http-api
hanzo-identity hanzonet/identity
hanzo-job-queue-manager hanzonet/job-queue-manager
hanzo-jobs hanzonet/jobs
hanzo-l2 hanzonet/l2
hanzo-libp2p hanzonet/libp2p
hanzo-libp2p-relayer hanzonet/libp2p-relayer
hanzo-machine hanzonet/machine
hanzonet-mcp hanzonet/mcp
hanzo-messages hanzonet/messages
hanzo-mining hanzonet/mining
hanzo-model-discovery hanzonet/model-discovery
hanzo-models hanzonet/models
hanzonet-pqc hanzonet/pqc
hanzo-runner hanzonet/runner
hanzo-runtime hanzonet/runtime
hanzo-runtime-tests hanzonet/runtime-tests
hanzo-tools hanzonet/tools
hanzo-tools-runner hanzonet/tools-runner
hanzo-vm hanzonet/vm
hanzo-wasm hanzonet/wasm
hanzo-wasm-runtime hanzonet/wasm-runtime
hanzo-zap hanzonet/zap

Naming convention

  • hanzonet-* = network-internal implementations of names that collide with the consumer SDK in hanzo-rs/sdk. Crates: hanzonet-pqc, hanzonet-did, hanzonet-config, hanzonet-mcp. Import them under their original name via a package rename:

    hanzo-pqc = { version = "1.1", package = "hanzonet-pqc" }
    
  • hanzo-* = everything else. The Rust library name is always hanzo_*, so use hanzo_vm::…; works regardless of which package on crates.io served the crate.

Contributing

One repo per focused concern, one workspace to build them together. Each crate has a clear scope and its own tests. cargo test from the root runs the full suite; cargo test -p <crate> targets one.

License

MIT © Hanzo AI, Inc. See LICENSE.

Hanzo — the Open AI Cloud

Open source · every language · on-chain settlement. hanzo.ai · docs.hanzo.ai

SDKs in every languagePython (flagship) · TypeScript · Go · Rust · C++ · Swift · Kotlin · umbrella

S
Description
Hanzo tenant service — sourced from hanzoai/net
Readme MIT
28 MiB
Languages
Rust 98.2%
TypeScript 0.7%
Python 0.4%
Solidity 0.3%
Shell 0.2%