← Blog

meet mahout: the open-source agent that puts your gpu in the pool

A mahout is the person who rides and guides an elephant. Ours is a single small Rust binary that guides your GPU: it figures out what your machine can do, connects it to the pool, serves open-weight models to real API traffic, and signs a receipt for every job it completes. This post is the full tour — what it does, why it's open source, how to install and manage it, and how to contribute.

why software that earns money on your pc must be open source

mahout runs unattended on hardware you own, and its receipts translate directly into money. You should not have to take our word for what it does. So the code is public under Apache-2.0 at gitlab.debuck.info/elephantpool-oss/mahout: read it, build it yourself, diff a release against the published binary. Trust from verification, not from a privacy-policy paragraph.

how it works, end to end

1 · Probe. mahout probe inventories your CPU, RAM and GPUs — NVIDIA via NVML, AMD via rocm-smi, with an lspci fallback. The pool only routes work your machine can genuinely handle: nothing is promised that your hardware can't do.

2 · Enroll. You generate a one-time link code in your dashboard and run mahout up --code …. An ed25519 identity is created locally — the private key never leaves your machine — and the code is exchanged for a host token. Codes expire after 15 minutes and are stored hashed on our side.

3 · Fetch, verify, serve. Model weights and the inference engine are downloaded into a content-addressed cache and checked against pinned SHA-256 digests before anything runs. A failed check aborts — no silent downloads, ever. Then mahout work polls the gateway over plain outbound HTTPS: no inbound ports, no port forwarding, works behind any home NAT.

4 · Benchmark honestly. mahout bench runs a fixed single-stream benchmark and emits a signed measurement (on our own RX 7900 XTX: ~186 tokens/s decode on a quantized 1.5B model). Routing is based on what was measured, not on what was claimed.

5 · Get paid. Every completed job yields a CBOR receipt signed with your host key — model, token counts, timing, rate. Your earnings are the sum of your receipts (mahout receipts verify re-checks them locally), you keep 80% of token revenue, and payouts run monthly via SEPA from €50.

your machine stays yours

install it

Linux x86_64 today (Windows and macOS are on the roadmap — the code is portable, the engine adapters are being qualified per platform):

curl -fsSL https://elephantpool.ai/install-mahout.sh | sh

The installer verifies the binary's SHA-256 checksum before installing, and nothing runs until you start it. Prefer to check everything yourself?

curl -fsSLO https://elephantpool.ai/dl/mahout-linux-x86_64
curl -fsSL https://elephantpool.ai/dl/mahout-linux-x86_64.sha256 | sha256sum -c

Then the whole daily surface is five commands: up, work, status, pause, uninstall — plus probe, bench, models and serve when you want to look under the hood. mahout serve even runs a model fully offline, no account needed.

contribute

Development happens in the open. Found a bug on an exotic GPU/driver combo? That report is gold — open an issue. Want to send code? Fork, branch, and open a merge request; a maintainer reviews it, lands it on the internal CI (which has real GPU runners), and the merge mirrors back to the public repo with your authorship intact. Three gates keep the codebase honest, and CI enforces all of them:

cargo fmt --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace

The workspace is ten small crates (probe, bench, cache, runtime, net, policy, proto, update, core, CLI) — the README maps them, and AGENTS.md tells you what's real versus stubbed, so you never chase a phantom feature.

ride the elephant

Install mahout, link your machine with a one-time code, and watch receipt-backed earnings accrue from the first served token.

Connect My GPU Open source · Apache-2.0 · NVIDIA & AMD · 80% of token revenue