Skip to main content
The darkbloom binary is the provider agent CLI. Every operation — starting and stopping the provider, checking status, managing models, viewing earnings, and updating the agent — goes through this command. All subcommands support the -v / --verbose flag for more detailed log output.

serve

Start the provider in the foreground. The provider connects to the coordinator, begins serving inference requests, and logs to stdout. Press Ctrl+C to stop.

start

Start the provider as a background daemon. The process is registered with launchd, persists across reboots, and auto-restarts if it crashes. Equivalent to darkbloom serve but daemonised.

stop

Stop the background daemon gracefully. Sends a termination signal to the running provider process and waits for it to exit cleanly.

status

Print hardware information, connection status, and the current serving configuration.
The output includes your Apple Silicon chip model, memory size, GPU core count, and memory bandwidth, along with whether the provider is connected to the coordinator and which model is active.

doctor

Run a full diagnostic check and report any problems. Use this when the provider fails to start or connect, or after installing the agent for the first time.
Doctor checks the following in order:
  1. Hardware detection (chip model, memory, GPU cores)
  2. System Integrity Protection (SIP) — must be enabled
  3. Secure Enclave (eigeninference-enclave binary availability)
  4. MDM enrollment status
  5. Inference runtime (vllm-mlx / mlx-lm import and version)
  6. Downloaded models
  7. Coordinator connectivity
Each check is marked pass or fail. For any failures, doctor prints the specific remediation steps.
Run darkbloom doctor before you run darkbloom serve for the first time. It will catch configuration problems before they show up as cryptic errors during startup.

models list

List the models you have downloaded locally, along with their estimated memory usage.
Pass --coordinator to also fetch the full catalog from the network and show which additional models your hardware could run. To download a model interactively:
To download a specific model without the interactive picker:

earnings

Show your current balance, total earnings, and recent payout history.
The output shows:
  • Balance — amount available for withdrawal
  • Total earned — cumulative lifetime earnings
  • Jobs served — total number of inference requests completed
  • Recent payouts — last five individual request payouts with model and amount
For full earnings details and withdrawal options, use the web console or see the earnings guide.

update

Check for a newer version of the provider agent and install it if one is available.
The provider also checks for updates automatically at startup and prints a notification if a newer version is available. Auto-updates in the background can be managed with darkbloom autoupdate.

login

Link this machine to your Darkbloom account using a device code flow. Running darkbloom login opens your browser to the account linking page and displays a short code in the terminal. After you approve the link in the browser, the provider saves an auth token and uses it for all subsequent connections.
If the machine is already linked, the command prints the current status and exits without re-linking. Run darkbloom logout first if you need to switch accounts.

logout

Unlink this machine from your Darkbloom account. The locally stored auth token is deleted. The provider will continue to run and serve requests, but earnings will not be credited to your account until you run darkbloom login again.

logs

View provider logs.

autoupdate

Enable or disable automatic background updates.
When enabled (the default), the provider checks for updates every 30 minutes while running and installs them automatically. When disabled, you manage updates manually with darkbloom update.

Global flags