> ## 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.

# Quickstart: become a Darkbloom inference provider

> Turn your idle Apple Silicon Mac into a Darkbloom provider. Install the agent, link your account, pick a model, and start earning in about 10 minutes.

If you have an Apple Silicon Mac sitting idle for part of the day, you can put its unified memory and GPU to work serving AI inference requests. Darkbloom's provider agent connects outbound over WebSocket — no port forwarding or firewall changes needed — and your prompts are cryptographically isolated from your own process. This guide covers everything from installation to your first confirmed earnings.

<Steps>
  <Step title="Check your hardware">
    The provider agent requires Apple Silicon and enough unified memory to hold the model you want to serve.

    | Requirement    | Minimum                                   |
    | -------------- | ----------------------------------------- |
    | Chip           | Apple Silicon M1 or later                 |
    | macOS          | 14 Sonoma or later                        |
    | Unified memory | 16 GB (36 GB recommended for most models) |

    Run this command to confirm your chip:

    ```bash theme={null}
    system_profiler SPHardwareDataType | grep "Chip\|Memory:"
    ```

    You should see something like `Chip: Apple M2 Pro` and `Memory: 32 GB`. If your chip says "Intel", the provider agent won't run on your machine.

    <Warning>
      The minimum RAM required varies by model. Most models in the catalog need at least 36 GB. Check the [model catalog](/introduction#available-models) before downloading.
    </Warning>
  </Step>

  <Step title="Install the provider agent">
    Run the one-line installer. It downloads and installs the `darkbloom` binary, a bundled Python 3.12 runtime, vllm-mlx, and the Secure Enclave tooling. No prerequisites required.

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

    The installer places the `darkbloom` binary on your `PATH`. Once it finishes, confirm the installation worked:

    ```bash theme={null}
    darkbloom --version
    ```
  </Step>

  <Step title="Link your Darkbloom account">
    Your Mac needs to be associated with your Darkbloom account so earnings can be credited to you. Run the login command, which starts a device authorization flow:

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

    You'll see a short code and a URL. Open the URL in your browser, sign in to your Darkbloom account, and approve the device. The CLI polls for confirmation and exits once the link is established.

    <Note>
      If you don't have a Darkbloom account yet, go to [darkbloom.dev](https://darkbloom.dev) and sign up first.
    </Note>
  </Step>

  <Step title="Choose a model and start serving">
    List the models available to download based on your hardware:

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

    The output shows each model's RAM requirement alongside your available unified memory. Pick a model your Mac can fit, then start serving. The first run downloads the model weights — expect this to take several minutes depending on your connection.

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

    `darkbloom serve` runs in the foreground and prints connection status and request throughput. To run as a background daemon instead:

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

    <Tip>
      On a 36 GB Mac, `qwen3.5-27b-claude-opus-8bit` (27 GB) or `mlx-community/gemma-4-26b-a4b-it-8bit` (28 GB) are good fits. On a 128 GB Mac, `mlx-community/Qwen3.5-122B-A10B-8bit` unlocks the highest-quality tier.
    </Tip>
  </Step>

  <Step title="Check status and earnings">
    Once the provider is running, use these commands to monitor it.

    **Connection and hardware status:**

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

    This shows your chip, available memory, current model, and whether you're connected to the coordinator.

    **Earnings:**

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

    This shows your total earnings and a breakdown by session.

    **Diagnose problems:**

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

    `darkbloom doctor` runs a series of checks — SIP status, Secure Boot, memory, network connectivity — and reports any issues that would prevent the provider from attesting correctly.
  </Step>
</Steps>

## Managing the daemon

```bash theme={null}
darkbloom start    # start as background daemon
darkbloom stop     # stop the daemon
darkbloom status   # hardware and connection info
darkbloom update   # check for and apply updates
```

## Scheduling availability windows

By default the provider runs whenever `darkbloom start` is active. You can restrict it to specific hours so it only serves during times you're not using your Mac. Edit `~/.config/eigeninference/provider.toml`:

```toml theme={null}
[schedule]
enabled = true

[[schedule.windows]]
days = ["mon", "tue", "wed", "thu", "fri"]
start = "22:00"
end   = "08:00"
```

Outside the scheduled windows, the provider disconnects and shuts down the inference backend, freeing GPU memory for your own use.

## macOS menu bar app

A native SwiftUI menu bar app is also available if you prefer a GUI. It provides one-click start/stop, a live throughput display, idle detection (pauses automatically when you're actively using your Mac), and an earnings dashboard. You can download it from [darkbloom.dev](https://darkbloom.dev).

<Note>
  Darkbloom is an experimental research prototype. Provider software may have breaking changes between releases. Run `darkbloom update` regularly to stay current.
</Note>
