Documentation / Getting started

Overview

PyrusLLM turns a machine into a node on a peer-to-peer inference marketplace. Each node announces a signed manifest declaring which model it serves, what it charges and how loaded it is. Any node can ask any other for a completion, and the answer arrives with provenance attached: which machine produced it, how fast, and what it cost.

What it does

🖥️
Runs locally

Weights travel over hypercore, not HTTP, and are cached on disk. Nothing leaves your machine unless you ask it to.

🔗
Joins a network

A fixed DHT topic discovers peers. Only nodes whose signed manifest verifies become routing candidates.

💰
Gets paid

The manifest carries a payout address. Paid requests settle over x402 and come back with a receipt and an attestation.

Is PyrusLLM a CLI or an API?

It is both, and the distinction matters because they are used by different people at different moments.

SurfaceWhat it isWho uses it
pyrusllm <cmd> A CLI you run in a terminal. It is how you start the node, join the network, run a one-off prompt, move files and manage the wallet. The operator of the machine.
http://localhost:8787/v1/… An HTTP API served by pyrusllm serve. The /v1/chat/completions and /v1/models routes are OpenAI-compatible; the rest are PyrusLLM's own. Clients and agents — any OpenAI SDK, curl, Open WebUI, a Telegram bot.
The relationship: the CLI command pyrusllm serve is what starts the API. Everything the browser panels do, they do through that same public API with a Bearer key — there is no privileged path reserved for the UI.

Architecture, in one pass

Three pieces cooperate on every node:

See Research → What to build first for how a fourth piece — a signed inference receipt — extends this model.