> ## Documentation Index
> Fetch the complete documentation index at: https://docs.darkbloom.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Installing and setting up the provider agent

> Install the Darkbloom provider agent on your Apple Silicon Mac, link your account, pick a model, and start earning in a few minutes.

Getting started as a provider takes a single terminal command. The installer handles everything — the provider binary, a bundled Python 3.12 runtime, the vllm-mlx inference engine, and the Secure Enclave tooling needed for attestation. You do not need to install Python, set up a virtual environment, or configure anything manually before running the installer.

## Install the provider agent

Open Terminal and run:

```bash theme={null}
curl -fsSL https://api.darkbloom.dev/install.sh | bash
```

The installer will:

1. Download and verify the provider binary (`darkbloom`)
2. Install a bundled Python 3.12 runtime to `~/.darkbloom/python/`
3. Install vllm-mlx and its dependencies into the bundled Python environment
4. Install the Secure Enclave helper (`eigeninference-enclave`)
5. Walk you through model selection and account linking
6. Start the provider as a background launchd service

<Note>
  The installer verifies SHA-256 hashes and code signatures for all downloaded components. If any check fails, installation is aborted.
</Note>

## What gets installed

<AccordionGroup>
  <Accordion title="darkbloom binary">
    The provider agent itself — a Rust binary that manages the inference backend, maintains the WebSocket connection to the coordinator, handles attestation, and exposes the CLI. Installed to a location on your `PATH` so you can run `darkbloom` from any terminal.
  </Accordion>

  <Accordion title="Python 3.12 runtime">
    A self-contained Python 3.12 installation in `~/.darkbloom/python/`. It is completely separate from any system Python or Homebrew Python you already have and will not interfere with them.
  </Accordion>

  <Accordion title="vllm-mlx and mlx-lm">
    The inference engine that runs models on Apple Silicon's GPU via Metal. Installed into the bundled Python environment. The provider agent verifies the hash of the installed packages against the coordinator's runtime manifest on every startup and updates them automatically if they drift.
  </Accordion>

  <Accordion title="Secure Enclave tooling">
    The `eigeninference-enclave` binary, which the provider uses to generate hardware-bound attestation blobs from your Mac's Secure Enclave. These proofs bind your machine's identity to the inference keys used in the current session.
  </Accordion>
</AccordionGroup>

## Link your account

Your machine needs to be linked to your Darkbloom account for earnings to be credited to you. The setup wizard that runs after installation will prompt you to do this, but you can also run it manually at any time:

```bash theme={null}
darkbloom login
```

This opens a browser window and displays a short code in your terminal. Sign in to your Darkbloom account in the browser, enter the code when prompted, and the link is made. The provider stores an auth token locally and uses it on subsequent connections.

<Warning>
  If you skip account linking, your provider will still serve requests but earnings will not be credited to your account. Run `darkbloom login` to link at any time.
</Warning>

## Pick a model

During setup, the installer shows you which models your hardware can run based on detected memory. You can also browse and download models manually:

```bash theme={null}
darkbloom models list
```

The models available on the network, along with their memory requirements, are:

| Model                         | Size   | Min RAM | Notes                      |
| ----------------------------- | ------ | ------- | -------------------------- |
| Gemma 4 26B 8-bit             | 28 GB  | 36 GB   | Fast multimodal MoE        |
| Qwen3.5 27B Claude Opus 8-bit | 27 GB  | 36 GB   | Frontier-quality reasoning |
| Trinity Mini 8-bit            | 26 GB  | 48 GB   | Fast agentic inference     |
| Qwen3.5 122B MoE 8-bit        | 122 GB | 128 GB  | Best quality reasoning     |
| MiniMax M2.5 8-bit            | 243 GB | 256 GB  | SOTA coding, \~100 tok/s   |

Model weights are downloaded to your HuggingFace cache (`~/.cache/huggingface/hub/`) and are only fetched once. If you already have a model downloaded, the provider uses the existing copy.

## Start serving

Once a model is downloaded and your account is linked, start the provider:

<CodeGroup>
  ```bash Background (recommended) theme={null}
  darkbloom start
  ```

  ```bash Foreground theme={null}
  darkbloom serve
  ```
</CodeGroup>

`darkbloom start` runs the provider as a background daemon that persists across reboots. `darkbloom serve` keeps the process in your current terminal session — useful when you want to watch the logs directly.

Once running, check that everything is connected:

```bash theme={null}
darkbloom status
```

You should see your hardware detected, your model loaded, and the coordinator connection shown as active.

## Configuration file

The provider writes its configuration to `~/.config/eigeninference/provider.toml`. You can edit this file directly to adjust settings without using the CLI. Changes take effect the next time you run `darkbloom start` or `darkbloom serve`.

See the [CLI reference](/provider/cli-reference) for all available commands, or the [scheduling guide](/provider/scheduling) to configure when your Mac serves requests.
