
Plug in a GPU.
Put it to work.
Run the GPUFarm host daemon on your rig. Every GPU is verified by a real benchmark, jobs run sandboxed, and you're paid for verified GPU-seconds through escrow on Robinhood Chain.
- 01Pair
Generates the daemon's own host key (kept in your OS keystore) and prints a code. Approve it in the browser while signed in.
- 02Benchmark
Server-issued challenge per GPU: FP32/FP16 matmul with checked results, VRAM bandwidth and a 30 s stability run. Raw numbers vs. the class reference decide the tier.
- 03Set pricing
Price per GPU class in the dashboard, with the network's real median prices next to yours. Add an autoscheduling policy: max temp, hours, minimum rate.
- 04Go online
Heartbeats every 10 s, receives job offers, runs each workload in a sandbox on its reserved GPUs, uploads the result hash and a signed receipt.
What you need
The daemon checks each of these at startup and reports what it finds on your dashboard.
Any CUDA GPU the driver reports: RTX 30/40/50 series, A100, H100, L40S and more. nvidia-smi must work. AMD/ROCm comes later.
Customer jobs run as containers with GPU access only to their assigned devices. The toolkit is what passes the GPU through.
A stronger sandbox runtime. Used where GPU compatibility allows; recommended for hosts who want an extra isolation layer.
The daemon dials out to GPUFarm (HTTPS / WebSocket). No inbound ports, no port forwarding, and your IP is never published.
Sign in with a message signature, approve your machines and receive payouts. The daemon never touches this wallet's keys.
Linux x86_64 or aarch64 with a recent kernel is the supported host. Building from source needs Rust 1.88 or newer.
Install
Two ways to get the binary. Either way, you can read and verify exactly what runs on your machine. Linux x86_64 or aarch64; the full guide is in the host docs.
Build from source
Available nowFrom a checkout of the GPUFarm repository (the daemon is the Rust crate in host/):
# Rust 1.88+ (https://rustup.rs)$ cd host$ cargo build --release --locked$ sudo install -m 0755 target/release/gpufarm-host /usr/local/bin/gpufarm-host$ gpufarm-host version$ gpufarm-host detect
Signed release
Not published yetEach release publishes the binary, its SHA-256 and an Ed25519 signature over gpufarm-host <version> <sha256>. Check both yourself before anything runs.
# <release host>/gpufarm-host/<version>/: gpufarm-host-<target> plus its .sha256 and .sig$ VERSION=0.1.0 TARGET=x86_64-unknown-linux-gnu$ sha256sum -c gpufarm-host-$TARGET.sha256# the signature covers the exact bytes "gpufarm-host <version> <sha256>" (OpenSSL 3+)$ printf 'gpufarm-host %s %s' "$VERSION" "$(sha256sum gpufarm-host-$TARGET | cut -d' ' -f1)" > msg$ xxd -r -p gpufarm-host-$TARGET.sig > sig.bin$ printf '302a300506032b6570032100%s' "<release key hex>" | xxd -r -p | openssl pkey -pubin -inform DER -out gpufarm-release.pem$ openssl pkeyutl -verify -pubin -inkey gpufarm-release.pem -rawin -in msg -sigfile sig.bin# only after "OK" and "Signature Verified Successfully":$ sudo install -m 0755 gpufarm-host-$TARGET /usr/local/bin/gpufarm-host
# download it, read it, then run it; never pipe it into a shell$ curl --proto '=https' --tlsv1.2 -fsSLO https://<release host>/gpufarm-host/install.sh$ less install.sh$ sudo sh install.sh --base-url https://<release host>/gpufarm-host --public-key <release key hex>
Pair, verify, go online
- 01Pair
Generates the daemon's own host key (kept in your OS keystore) and prints a code. Approve it in the browser while signed in.
terminal$ gpufarm-host pair --server https://robingpu.farm - 02Benchmark
Server-issued challenge per GPU: FP32/FP16 matmul with checked results, VRAM bandwidth and a 30 s stability run. Raw numbers vs. the class reference decide the tier.
terminal$ gpufarm-host benchmark - 03Set pricing
Price per GPU class in the dashboard, with the network's real median prices next to yours. Add an autoscheduling policy: max temp, hours, minimum rate.
Pricing in the dashboard - 04Go online
Heartbeats every 10 s, receives job offers, runs each workload in a sandbox on its reserved GPUs, uploads the result hash and a signed receipt.
terminal$ gpufarm-host run
Developing locally? gpufarm-host run --simulate runs a fixture host on the local chain only (31337): it executes the selftest workload and is labeled SIMULATED everywhere.
Earnings estimator
Built from the prices hosts on Robinhood Chain list right now, not a marketing number. The assumptions are spelled out next to the result.
No market data yet: no GPU on Robinhood Chain has a listed price, so there is nothing honest to estimate from. Enter your own rate to see the math.
Share of the time your GPUs are running paid jobs. Not guaranteed: it depends on demand, your price and your measured reliability.
- · Rate: your own rate
- · Utilization 50% is the number you chose above.
- · Gross: rate × billable GPU-hours — you receive your full rate. The platform fee (2.50%) is added on top of the customer's bill and goes to the protocol fee recipient, not out of your earnings.
- · If your machine runs in someone else's farm, that farm owner's commission (registered onchain, max 20%) comes out of this. Electricity, hardware and internet costs are yours and not included.
Your machine stays yours.
Customer code is untrusted by default. The daemon isolates every workload and never lets it near your keys, your network or your files.
- Sandboxed containers
No privileged mode, no host PID or network namespace, no Docker socket, read-only base filesystem, CPU/RAM/runtime limits.
- Only its own GPUs
A job sees exactly the GPU UUIDs it reserved. Outbound network is off unless the customer requested an allowlist, and LAN ranges are never allowed.
- Keys out of reach
The host key lives in your OS keystore and only signs logins, benchmarks and receipts. It holds no funds; your wallet keys never touch the daemon.
- Honest verification
Results are labeled Result verified, Execution verified or Host reported, never all “verified”. Benchmarks are checked against reference ranges.