Skip to content
All guidesOpen

Docs / For hosts

Link your machine

Run ballast login, approve the code in your browser, then start the client.

Get a code

Terminalsh
ballast login

It reads your GPU, then prints a code that looks like BALL-7K2Q and a link such as https://ballast.outerscope.xyz/host/setup?code=BALL-7K2Q. Open the link, or open Set up a host and type the code. Sign in if you are asked.

The page shows the GPU name and VRAM the machine reported. Press Approve. The machine receives its token and appears on your host dashboard as online. A code lasts 10 minutes and can be approved once. If it is wrong or old you will see "That code did not match. Run ballast login again."

The token is saved in ~/.config/ballast/token, readable only by you. Ballast keeps just a hash of it. You can revoke it any time with Remove device on the dashboard.

Start the client

Terminalsh
ballast run

This starts the background service. To keep it running after you log out, run loginctl enable-linger $USER once. Logs are in journalctl --user -u ballast -f.

Check it is working

Terminalsh
ballast status

This is the shape of the output on a machine that has only just started. Your GPU, models and numbers will differ.

ballast statustext
client:   running
gpu:      NVIDIA GeForce RTX 4090, 24 GB, 41 C
models:   llama-3.1-8b-instruct
runtime:  ollama (running), 0 running, 4 slots
network:  online, accepts both
score:    60
today:    0 jobs, 0 tokens, 0 rented minutes, earned $0.0000
          (an estimate from the live ledger; payouts are test payouts)

A new device starts with a score of 60. The first time a model loads, Ballast also runs a spot check on it. Read about both in How jobs are scheduled and checked.

More than one machine, or a container

One account can link up to 4 devices. A container with no systemd can run ballast run --foreground and read its token from the BALLAST_AGENT_TOKEN environment variable. To link a machine again, run ballast login --force.

Something here wrong or missing? Tell us on Support.